给定一个只包含整数的有序数组 nums ,每个元素都会出现两次,唯有一个数只会出现一次,请找出这个唯一的数字。
示例 1:
输入: nums = [1,1,2,3,3,4,4,8,8]
输出: 2
示例 2:
输入: nums = [3,3,7,7,10,11,11]
输出: 10
提示:
1 <= nums.length <= 10^5
0 <= nums[i] <= 10^5
//法一 哈希计数 class Solution { public int singleNonDuplicate(int[] nums) { Mapmap = new HashMap<>(); for(int num : nums) map.put(num, map.getOrDefault(num, 0) + 1); for(Map.Entry entry : map.entrySet()){ if(entry.getValue() == 1) return entry.getKey(); } return -1; } }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)