Problem: 3133. 数组最后一个元素的最小值
👨🏫 灵神题解
class Solution {public long minEnd(int n, int x) {n--; // 先把 n 减一,这样下面讨论的 n 就是原来的 n-1long ans = x;int i = 0;int j = 0;while((n >> j) > 0){// ans 的第 i 个比特值是 0,即「空位」if((ans >> i & 1) == 0){// 空位填入 n 的第 j 个比特值ans |= (long)(n >> j & 1) << i;j++; //填了之后 n 的位前移}// 不管ans此位是 0 是 1 都向前移一位i++;}return ans;}
}