107. 二叉树的层序遍历 II
遍历后反转
1 | /** |
遍历后反转
1 | /** |
参考105. Construct Binary Tree from Preorder and Inorder Traversal | Cinte's Leetcode Record
1 | /** |
1 | class Solution { |
改用数组
在栈上分配空间比堆上更加高效
1 | class Solution { |
差分数组,只记录每年的变化数
1 | class Solution { |
我菜炸了
1 | class Solution { |
\[ max(a, b) = (a + b + abs(a - b)) / 2; \]
其中绝对值使用位运算代替,假设a, b
为32位,则 \[
abs(a) = ((a >> 31) \^{} a) - (a >> 31)
\] c++中对有符号数的右移是算数右移
当a > 0
,a >> 31 = 0x0000
,则a >> 31 ^ a
就等于a
,再减去0x0000
还是a
当a < 0
,a >> 31 = 0xFFFF
,则a >> 31 ^ a
就等于~a
,由于0 - 0xFFFF = 1
,所以最后是~a + 1 = -a
1 | class Solution { |
1 | class Solution { |
1 | class Solution { |
类似264. Ugly Number II | Cinte's Leetcode Record
1 | class Solution { |
减少一次计算,用一个数组保存,将当前计算移动到上一轮
1 | class Solution { |
需要知道一个事实
不可能两个同时胜利的,平局的情况只有2个都输
然后每一列的记录,用异或,bang
1 | class Solution { |
1 | class WordsFrequency { |
1 | class WordsFrequency { |
1 | class Solution { |
我是傻逼
1 | class Solution { |