classSolution{publicintsingleNumber(int[]nums){Map<Integer,Integer>map=newHashMap<>();for(int num:nums){Integer count=map.get(num);//get() 方法获取元素不存在时返回nullcount=count==null?1:++count;//count为null 时证明元素不存在,则频率改为1,否则count频率+1map.put(num,count);//加入映射...
class Solution { //方法一 public int singleNumber(int[] nums) { Set<Integer> set = new HashSet<>(); for (int num: nums){ if(set.contains(num)){ set.remove(num); }else{ set.add(num); } } Iterator<Integer> iterator = set.iterator(); return iterator.next(); } return -1; ...
任何数字x异或0结果为x.x^0=x classSolution {public:intsingleNumber(vector<int>&nums) {if(nums.empty())return0;intret = nums[0];for(inti =1; i < nums.size(); i ++) ret^=nums[i];returnret; } }; 解法三:先排序,再遍历找出孤异元素 classSolution {public:intsingleNumber(vector<int>...
C++ Code:class Solution {public: int singleNumber(vector<int>& nums) { auto ret = 0; for (auto i : nums) ret ^= i; return ret; }};// C++ one-linerclass Solution {public: int singleNumber(vector<int>& nums) { return accumulate(nums.cbegin(), nums.cend(),...
【LeetCode】#136只出现一次的数字(Single Number) 【LeetCode】#136只出现一次的数字(Single Number) 题目描述 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 说明: 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗? 示例 示例 1: ...
intsingleNumber(int* nums,intnumsSize) {intresult =0;for(inti =0; i < numsSize; i++) { result^=nums[i]; }returnresult; } 方法二C: 方法一C++: classSolution {public:intsingleNumber(vector<int>&nums) {if(nums.size() ==0)return-1;intresult =0;for(inti =0; i < nums.size()...
这题目的要求不仅是要求是线性时间,希望也不会使用额外的内存,那么也就是你无法运用其他的数据结构。也是参考了其他人的答案。对于位操作的特性还有待进一步挖掘。 classSolution {public:intsingleNumber(vector<int>&nums) {intnum =0;for(inti =0; i < nums.size(); ++i){ ...
classSolution{publicintsingleNumber(int[] nums){ Map<Integer, Integer> map =newHashMap<>();for(intnum : nums) {if(map.containsKey(num)) { map.remove(num); }else{ map.put(num,1); } }returnmap.entrySet().iterator().next().getKey(); } } ...
class Solution { public int singleNumber(int[] nums) { int ret = nums[0]; for (int i = 1; i < nums.length; ++i) { ret ^= nums[i]; } return ret; } } 复杂度分析: 时间复杂度:$O(n)$ 空间复杂度:$O(1)$ Python 实现 class Solution: def singleNumber(self, nums): """ :...
也就是说对于任何一个数N,NN=0,0N=N,所有这道题,我们只要对所有元素求异或即可,res初始化为0是因为0^N=N,不会影响结果。 代码 classSolution{publicintsingleNumber(int[] nums){intres=0;for(inti=0; i < nums.length; i++) { res ^= nums[i]; }returnres; } }...