不是这个力扣怎么越刷越像脑筋急转弯

DAY1

  • 对于同一个字母的大小写,除了从低到高第六位不同,其余位均相同

    • A的ASCII值是65=1000001
    • a的ASCII值是97=1100001
    • 二进制的低五位正好表示该字母是第几个字母。例如 A/a 是第一个字母。
    • 把大写字母的ASCII值和32=100000计算按位或,会把二进制数的从低到高第六位改成1,从而把大写字母转成对应的小写字母
  • 各位相加

    • 从原数到结果减去的都是9的倍数
    • num = 0 => 0
    • num = 9 => 9
    • num mod 9 > 0 => num mod 9
    • (num - 1) % 9 + 1

DAY2

  • 如果n是2的幂次方,那么n & (n - 1) == 0

DAY5

  • 二维数组转一维:
let mid = left + (right - left) / 2;
let x = matrix[mid / n][mid % n];