(LeetCode系列)191位1的个数

解决方法方法一:一位一位判断 我们对输入的数字从最后一位开始,每次和1进行与运算,之后每次左移1位 为什么每次不右移1位呢? 因为如果对于有符号整数,每次右移我们前面会填充符号位(正数填0负数填1)因此对于后面的计数会有影响,而左移对于有符号整数都只是在右边填充0 区分逻辑右移,逻辑左移与算数右移,算数左移: 逻辑左移=算数左移,右边统一添0 逻辑右移,左边统一添0 算数右移,左...

(LeetCode系列)136只出现一次的数字

解法解法一:暴力每次遍历一个数与后面的数进行比较,如果相等,则此次遍历break,开始遍历下一个数字。 时间复杂度:o(n^2) 空间复杂度:o(n) 解法二:排序时间复杂度:o(nlog2n) 空间复杂度:o(1) 解法三:使用hash表统计出现的次数时间复杂度:o(n) 空间复杂度:o(n) 解法四:使用集合统计出现一次的数字 定义一个新的集合,遍历题中给的数组,第一次出现的数字...