给定一个整数数组,数组中有一个数出现了一次,其他数出现了两次,请找出只出现了一次的数。
数据范围:数组中元素个数满足 ,数组中的元素大小满足
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param nums int整型一维数组 * @return int整型 */ public int singleNumber (int[] nums) { // write code here int res = 0; for(int num: nums) res ^= num; return res; } }
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param nums int整型一维数组 * @return int整型 */ public int singleNumber (int[] nums) { HashMap<Integer, Integer> map = new HashMap<>(); for (int i = 0; i < nums.length; i++) { if (map.containsKey(nums[i])) { int value = map.get(nums[i]); map.put(nums[i], value + 1); } else { map.put(nums[i], 1); } } int result = -1; Set<Integer> set = map.keySet(); for (int item : set) { int count = map.get(item); if (count == 1) { result = item; break; } } return result; } }
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param nums int整型一维数组 * @return int整型 */ public int singleNumber (int[] nums) { // write code here Arrays.sort(nums); int len = nums.length; int i; for(i=0;i<len-1;i++){ if(nums[i]!=nums[i+1]){ return nums[i]; } else{ i++; } } if(i==len-1){ return nums[len-1]; } return 0; } }