leetcode
sky_galaxy
这个作者很懒,什么都没留下…
展开
-
Single Number
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原创 2015-03-27 21:34:47 · 380 阅读 · 0 评论 -
SingleNumberⅡ
转自http://blog.csdn.net/morewindows/article/details/12684497 数组A中,除了某一个数字x之外,其他数字都出现了三次,而x出现了一次。请给出最快的方法找到。 我们换一个角度来看,如果数组中没有x,那么数组中所有的数字都出现了3次,在二进制上,每位上1的个数肯定也能被3整除。如{1, 5, 1, 5, 1, 5}从二进制上看有:1:00015转载 2015-04-20 23:13:42 · 514 阅读 · 0 评论 -
singleNumberⅢ
一个数组所有的数都出现两次,有两个数只出现一次,求这两个数。 思路: 假设出现一次的两数为x,y;现将数组中所有数字异或得到结果xory = x^y; 找到xory中第一个为1的位置,记为mask,以这个mask是不是1为标准把原数组中的数字分成两个子数组,第一个子数组中每个数字的第mask位都为1,而第二个子数组的每个数字的第mask位都为0。x和y分别在不同的数组中。 然后数组内所有数字原创 2015-05-04 23:23:57 · 382 阅读 · 0 评论 -
1-n中数字1的个数
/* 求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字 有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化, 可以很快的求出任意非负整数区间中1出现的次数 */int NumberOf1Between1AndN_Solution(int n) { i原创 2015-08-14 16:45:25 · 841 阅读 · 0 评论