摘要:
1.求一个数是不是2的幂 方法:对于大于0的数,求他的lowbit,看看是不是和这个数相等就行了。 class Solution { public: bool isPowerOfTwo(int n) { return n > 0 && n == (n & (-n)); } }; 补:或者看n&(n- 阅读全文
posted @ 2026-03-02 18:47
Lambda_L
阅读(6)
评论(0)
推荐(0)
摘要:
如果有一个数组,这个数组中只有一个数出现的次数不够m次,其他数出现次数都等于m次,那么求这个数 思路:创建一个31位的mask数组,将每一位上出现的次数加起来,哪一位出现次数不为m的倍数,那么哪一位就是所求数的一部分 // 已知数组中只有1种数出现次数少于m次,其他数都出现了m次 // 返回出现次数 阅读全文
posted @ 2026-03-02 16:07
Lambda_L
阅读(3)
评论(0)
推荐(0)
摘要:
注意到如果数组中只有一个出现奇数次的数,那么异或和就是答案,现在异或和xor1=a^b, 求xor1的lowbit,再遍历一遍,易知a和b必然有一个&lowbit=0,那么把这样的数找出来,就可以得到其中一个数xor2,xor2^xor1就是另一个数了 class Solution { public 阅读全文
posted @ 2026-03-02 15:56
Lambda_L
阅读(3)
评论(0)
推荐(0)
摘要:
先看归并排序,归并排序就是先排左,再排右,然后把这两部分merge在一起,时间复杂度是O(nlogn)的。 额外空间复杂度O(n); 1)左部分排好序、右部分排好序、利用merge过程让左右整体有序 2)merge过程:谁小拷贝谁,直到左右两部分所有的数字耗尽,拷贝回原数组 void merge(i 阅读全文
posted @ 2026-03-02 13:35
Lambda_L
阅读(4)
评论(0)
推荐(0)

浙公网安备 33010602011771号