Lintcode 82.落单的数】的更多相关文章

-------------------------------- 这道题好坑啊,自己说是2*n+1个数字,结果有组测试数据竟然传了个空数组进来... 经典位算法: n^n==0 n^0==n AC代码: public class Solution { /** *@param A : an integer array *return : a integer */ public int singleNumber(int[] A) { if(A.length==0) return 0; int n=A…
这一题相对简单,但是代码质量可能不是很好,我分享一下我的做题笔记以及做题过程给各位欣赏,有什么不足望各位大佬指出来 原题目,各位小伙伴也可以试着做一下 . 落单的数 中文English 给出 * n + 1个数字,除其中一个数字之外其他每个数字均出现两次,找到这个数字. 样例 样例 : 输入:[,,,,,,] 输出: 解释: 仅3出现一次 样例 : 输入:[,,] 输出: 解释: 仅1出现一次 挑战 一次遍历,常数级的额外空间复杂度 注意事项 n≤ 做题笔记 我个人进行形象化理解就是, 要么丢进…
题目: 落单的数 给出2*n + 1 个的数字,除其中一个数字之外其他每个数字均出现两次,找到这个数字. 样例 给出 [1,2,2,1,3,4,3],返回 4 挑战 一次遍历,常数级的额外空间复杂度 解题: 进去里面程序已经写好了,,也不知道是bug还是之前我网上复制程序的,但是竟然有记录,查看之前做的题目点进去也没有程序的,那一定是官方给的答案了... 利用异或^运算,两个相同的数的异或的结果是0,就这样遍历之后的结果就是那个数了.这个题目准确率到目前16:31:24  2015-10-18…
题目1 落单的数 给出2*n + 1 个的数字,除其中一个数字之外其他每个数字均出现两次,找到这个数字. 链接:http://www.lintcode.com/zh-cn/problem/single-number/ 样例 给出 [1,2,2,1,3,4,3],返回 4 挑战 一次遍历,常数级的额外空间复杂度 解决方案 方法1思路:将所有的数转换成二进制,因为是int类型,共32位.申请常数级(32位)的额外空间,然后每个数对应的位相加,最后对应位上的和模2.最后的结果就是单个数对应的二进制数.…
题目 落单的数 III 给出2*n + 2个的数字,除其中两个数字之外其他每个数字均出现两次,找到这两个数字. 样例 给出 [1,2,2,3,4,4,5,3],返回 1和5 挑战 O(n)时间复杂度,O(1)的额外空间复杂度 解题 根据落单的数I,可以想到,所有的数进行异或运行的结果就是所求两个数的异或结果. 这个异或的结果,二进制数是1的位置说明这两个数对应的二进制位不相同.然后再怎么还原???参考,理解的不是很透,找到第k位后,再判断数组中所以数的第k位是0 还是1,,出现两次的数对求解无影…
题目 落单的数 II 给出3*n + 1 个的数字,除其中一个数字之外其他每个数字均出现三次,找到这个数字. 样例 给出 [1,1,2,3,3,3,2,2,4,1] ,返回 4 挑战 一次遍历,常数级的额外空间复杂度 解题 可以利用HashMap直接解决,时间复杂度和空间复杂度都是O(N) 1.map中存在该元素则:map.put(num,map.get(num) + 1) 2.map中不存在该元素则:map.put(num , 1) 3.map中这个元素出现次数等于三次,则删除该元素 空间复杂…
原题网址:http://www.lintcode.com/zh-cn/problem/single-number-iii/# 给出2*n + 2个的数字,除其中两个数字之外其他每个数字均出现两次,找到这两个数字. 您在真实的面试中是否遇到过这个题? Yes 样例 给出 [1,2,2,3,4,4,5,3],返回 1和5 挑战 O(n)时间复杂度,O(1)的额外空间复杂度 标签 LintCode 版权所有 贪心   思路: 最开始用暴力循环来破解,设置一个与数组长度相同的vector<bool>,…
原题网址:http://www.lintcode.com/zh-cn/problem/single-number-ii/ 给出3*n + 1 个的数字,除其中一个数字之外其他每个数字均出现三次,找到这个数字. 您在真实的面试中是否遇到过这个题? Yes 样例 给出 [1,1,2,3,3,3,2,2,4,1] ,返回 4 挑战 一次遍历,常数级的额外空间复杂度 标签 贪心   非挑战版AC代码: 思路依旧是先排序,再遍历.每隔两个数(每三个数)做一次减法,若差值不为零返回被减数,一直遍历到第n-1…
题目描述 Description 有n个数(n是奇数),其中n-1个数两两成对,有1个数落单,找出这个数.要求O(n)的时间复杂度,O(1)的空间复杂度 输入描述 Input Description 第一行输入一个n, n是大于等于1的奇数 第二行包含n个整数 输出描述 Output Description 输出那个落单的数 样例输入 Sample Input 3 1 7 1 样例输出 Sample Output 7 数据范围及提示 Data Size & Hint 1<=n<=400…
Given an array of integers, every element appears twice except for one. Find that single one. Note:Your algorithm should have a linear runtime complexity. Could you implement it without using extra memory? 题目标签:Hash Table 题目给了我们一个 nums array, array 里…