某口 313 周赛 最小 XOR

https://leetcode.cn/problems/minimize-xor/

二进制下的贪心。(用bitset更方便)

class Solution {
public:
    int minimizeXor(int num1, int num2) {
        bitset<32> b1(num1), b2(num2), b3;
        int cnt_2 = b2.count();
        for(int i = 31; i >= 0 && cnt_2 > 0; i--){
            if(b1[i] == 1){
                b3[i] = 1;
                cnt_2--;  
            }
        }
        for(int i = 0; i < 32 && cnt_2 > 0; i++){
            if(b3[i] == 0){
                b3[i] = 1;
                cnt_2--; 
            }
        }
        return int(b3.to_ulong());
        
    }
};
全部评论

相关推荐

头像
10-16 09:58
已编辑
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务