2024.6.28
**每日一题**
2742.给墙壁刷油漆,根据题意,可以得出几个结论,首先是付费刷墙的总时间要大于等于免费刷墙的个数,其次是付费刷墙个数与免费刷墙个数之和为n,结合之后得到付费刷墙时间之和大于等于n-付费刷墙个数,即[付费刷墙时间+1]之和大于等于n,所以我们把这个看作一个01背包的题目,时间+1作为体积,花费作为价值。
190.颠倒二进制位,本题考察的是基础的位运算性质,相关解释如下:
uint32_t rev = 0;
uint32_t 这个是用来定义一个32位的二进制串
rev|=(n&1)<<(31-i);
n>>=1;
上述代码的意思是每一取n中的最低位,并且将它移动到最前面,用答案字符串进行或运算,因为它本身为全0,所以答案的每一位全部取决于原二进制位,每次操作之后将原字符串右移一位,表示最低位处理完毕,舍弃之后对下一位 继续处理。