UpstairsCod
6/7/2019 - 8:22 AM

数学题

位运算

191. Number of 1 Bits https://leetcode.com/problems/number-of-1-bits/discuss/55120/Short-code-of-C%2B%2B-O(m)-by-time-m-is-the-count-of-1's-and-another-several-method-of-O(1)-time

n & (n-1) 去掉结尾的1

190. Reverse Bits https://leetcode.com/problems/reverse-bits/submissions/ 两种解法,O(n) & O(32)

Java里的 >> 用于 signed shift,保留最高位的符号位,同时 右移的时候左边填充的bit与符号位相同。 http://sys.cs.rice.edu/course/comp314/10/p2/javabits.html

  • /* 11111111 11111111 11111111 11110000 >> 4 = 11111111 11111111 11111111 11111111 */ 0xFFFFFFF0 >> 4 == 0xFFFFFFFF

  • /* 00001111 11111111 11111111 11111111 >> 4 = 00000000 11111111 11111111 11111111 */ 0x0FFFFFFF >> 4 == 0x00FFFFFF

56. Pow(x, n)

https://leetcode.com/problems/powx-n/

两种方法,迭代和递归。

组合数学基础

https://www.cnblogs.com/Parsnip/p/10736571.html