给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。
我写的O(n^2)的笨方法:
class Solution { public int singleNumber(int[] nums) { for(int i=0;i<nums.length;i++){ boolean isFlag = true; for(int k=0;k<i;k++){ if(nums[i] == nums[k]){ isFlag = false; break; } } for(int j=i+1;j<nums.length;j++){ if(nums[i] == nums[j]){ isFlag = false; break; } } if(isFlag){ return nums[i]; } } return 0; } }
运用异或:
int a =0; for(int i:nums){ a^=i; } return a;
本文介绍了一种在整数数组中查找唯一出现一次元素的方法。首先通过双重循环的O(n^2)方法实现,然后引入了更高效的异或运算解决方案,展示了如何利用位操作解决特定问题。
1401

被折叠的 条评论
为什么被折叠?



