LeetCode-单调栈
739. 每日温度
- 简单,通过单调栈,弹出栈中小于当前元素的元素,可以找到弹出元素的第一个大于其的位置
1 | class Solution { |
1 | class Solution { |
a | op | b | res |
---|---|---|---|
x | xor | 0x00 | x |
x | xor | 0xff | ~x |
x | xor | x | 0 |
x | and | 0x00 | 0 |
x | and | 0xff | x |
x | and | x | x |
x | or | 0x00 | x |
x | or | 0xff | 0xff |
x | or | x | x |
x | and | x-1 | 去掉最低位 |
x | and | -x | 得到最低位 |
用二进制位表示状态
leetcode 101的动态规划专题
1 | class Solution { |
dp数组表示上n层楼有几种可能
转移方程是 $ dp[i] = dp[i-1] + dp[i-2] $
上到第i层有可能从第i-1层或i-2层上来,则上到i层的可能数目就是 $ dp[i-1] + dp[i-2] $
由于dp[i]只需要前两个数的数据,所以可以优化掉dp数组,用两个变量代替,节省数组空间