mask1为啥要倒着循环?

来源:13-15 利用位运算表示状态

Charles_Zhang

2021-03-31

老师您好,这个mask1倒着循环没有太听明白。
您上面说的需要用旧值推新值。mask1是大状态(值更大),mask2是小状态,如果倒着推的话,不是应该通过大状态的值推出小状态吗?怎么是通过小状态推出大状态?

写回答

1回答

javaman

2021-04-01

您好,是说Leetcode1434那个选帽子的题么?

我这里mask2是大状态, mask1是小状态。用小状态推大状态,倒着循环mask2,保证更小的状态是之前计算过的。


“这里mask2和mask1的二进制表示里,mask2比mask1多一个1,表示这个帽子被该人选择。“

1
0

算法面试刷题课--竞赛命题人带你刷70+高质量题型

只需20小时, Google面试官带你完成Java算法面试准备

539 学习 · 65 问题

查看课程