1: intsingleNumber(int A[], int n) { 2: int left = A[0]; 3:for(int i =1;i< n;i++) 4: { 5: left = left ^ A[i]; 6: } 7: return left; 8: }
每天来一道,面试不卡壳,今天是天天算法陪你成长的第13天 本题目可在 LeetCode 上 OJ, 链接为 Single Number本篇解析采用了 三种不同的思路~题目描述:Given an array of integers, every element appears twice…
其中一种是利用set集合不含重复元素的性质,通过将数组转为集合,之后用集合元素和的2倍减去原数组所有元素的和,就是结果,代码如下: classSolution{public:intsingleNumber(vector<int>& nums){set<int>setNums(nums.begin(), nums.end());intsum =accumulate(nums.begin(), nums.end(),0);intsetSum =accumul...
就是利用一个hashmap,记录每个数字出现的个数。 public class Solution { public int singleNumber(int[] A) { Map<Integer,Integer> map=new HashMap<Integer,Integer>(); for(int i=0;i<A.length;i++){ if(map.get(A[i])==null){ map.put(A[i],1); } else map.put(A[i],2); } for(...
[LeetCode]136 Single Number publicclassSolution{publicintsingleNumber(int[]A){// Solution A// return singleNum_Xor(A);// Solution BreturnsingleNum_BitCompare(A);// Solution C// return singleNum_Map(A);}/// Solution A: Xor//privateintsingleNum_Xor(int[]A){inttoReturn=0;for(inti:...
136. Single Numberwindliang 互联网行业 开发工程师 来自专栏 · LeetCode刷题 题目描述(简单难度) 所有数字都是成对出现的,只有一个数字是落单的,找出这个落单的数字。 解法一 题目要求线性复杂度内实现,并且要求没有额外空间。首先我们考虑假如没有空间复杂度的限制。 这其实就只需要统计每个数字出现...
( a + b + c ) * 2 - ( a + a + b + b + c ) = c 代码: //方法一:Hash Table(HashMap)classSolution{publicintsingleNumber(int[] nums){if(nums.length==0||nums==null){return0; } HashMap<Integer , Integer> map =newHashMap<Integer , Integer>();for(inti=0;i<nums.length;...
下面给出这个问题的Java代码(可以直接在leetcode上提交,下同): 解法一: classSolution{publicintsingleNumber(int[]nums){intres=0;for(intx:nums){res^=x;}returnres;}} 解法二: classSolution{publicintsingleNumber(int[]nums){int[]s=newint[32];//位计数器for(inti=0;i<nums.length;++i){for(int...
1319-Number-of-Operations-to-Make-Network-Connected 1337-The-K-Weakest-Rows-in-a-Matrix 1338-Reduce-Array-Size-to-The-Half 1339-Maximum-Product-of-Splitted-Binary-Tree 1340-Jump-Game-V .gitignore qrcode.png readme.md Breadcrumbs Play-Leetcode /1165-Single-Row-Keyboard...
[leetcode]https://leetcode.com/problems/single-number-ii/ 这次数组中除了x外,每个元素出现3次,需要你找出x。注意到次数3为奇数了,上述方法失效。 思路 当然了也可以使用一个hash,类似于上题的hash解法,不用改动代码即可实现。当然了,这种解法很low。不在详述。