首页 > 其他分享 >竞赛-6194. 最小 XOR

竞赛-6194. 最小 XOR

时间:2022-10-03 15:34:43浏览次数:58  
标签:竞赛 XOR num1 num2 二进制 最小 6194 num

解题思路  1、二进制中num的1的数量等于num2中的1的数量  2、num1中二进制,和num前面相同,后面不同,这样异或操作后得到的最小,  3、相同部分不变,不同部分都是0,如果还有1剩余那就都是1

给你两个正整数 num1 和 num2 ,找出满足下述条件的整数 x :

x 的置位数和 num2 相同,且
x XOR num1 的值 最小
注意 XOR 是按位异或运算。

返回整数 x 。题目保证,对于生成的测试用例, x 是 唯一确定 的。

整数的 置位数 是其二进制表示中 1 的数目。

 

示例 1:

输入:num1 = 3, num2 = 5
输出:3
解释:
num1 和 num2 的二进制表示分别是 0011 和 0101 。
整数 3 的置位数与 num2 相同,且 3 XOR 3 = 0 是最小的。
示例 2:

输入:num1 = 1, num2 = 12
输出:3
解释:
num1 和 num2 的二进制表示分别是 0001 和 1100 。
整数 3 的置位数与 num2 相同,且 3 XOR 1 = 2 是最小的。
 

提示:

1 <= num1, num2 <= 109

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/minimize-xor
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

/**
 * @param {number} num1
 * @param {number} num2
 * @return {number}
 */
var minimizeXor = function(num1, num2) {
    //没接触过二进制的就难理解了,
    //1、二进制中num的1的数量等于num2中的1的数量
    //2、num1中二进制,和num前面相同,后面不同,这样异或操作后得到的最小,
    // 相同部分不变,不同部分都是0,如果还有1剩余那就都是1
    const str1=num2.toString(2).replace(/0/g,'');
    const str2=num1.toString(2);
    let len1=str1.length
    const len2=str2.length
    if(len1<len2){
        let back;
        for(let i=0;i<str2.length;i++){
            if(str2[i]==='1'){
                 len1--
             }
             if(len1===0){
                back=str2.substr(0,i+1)+'0'.repeat(str2.length-i-1)
                break
             }else if(len1>=str2.length-i){
                back=str2.substring(0,i)+'1'.repeat(len1)
                break
            }
        }
        return parseInt(back,2)
    }else{
        return parseInt(str1,2)
    }
};

 

标签:竞赛,XOR,num1,num2,二进制,最小,6194,num
From: https://www.cnblogs.com/caoke/p/16750583.html

相关文章

  • 竞赛6193. 沙漏的最大总和
    今天参加竞赛,被第4道题虐了,继续学习给你一个大小为mxn的整数矩阵grid。按以下形式将矩阵的一部分定义为一个沙漏:返回沙漏中元素的最大总和。注意:沙漏无法旋......
  • CF 617E XOR and Favorite Number 题解
    如果我们对给定的序列求出异或意义下的前缀和,哪么题意变为求满足\(sum_{i-1}\operatorname{xor}sum_j=k\)的\((i,j)\)数量。由于\(x\operatorname{xor}y=z\)等......
  • xor加密
    代码参考:https://www.cnblogs.com/litifeng/p/9259813.html......
  • xor加密实现
    (借鉴)(本人的实现)......
  • 竞赛-03. 重复的彩灯树
    这个题有bug,最后输出的list不要求顺序,是乱序的,有点无语,导致测试没完全通过思路:1、想找到最小的节点,判断他们是否重复,重复的为新的子节点,找到他们的父节点2、继续上一步......
  • 竞赛-02. 销售出色区间
    题目-02. 销售出色区间我的提交返回竞赛 通过的用户数291尝试过的用户数447用户总通过次数322用户总提交次数1217题目难度Medium给你一份销售数量表......
  • 竞赛-01. 化学反应
    10月2日上午参加了竞赛,今天先练习下题目-01. 化学反应实验室内有一些化学反应物,其中的任意两种反应物之间都能发生反应,且质量的消耗量为 1:1已知初始 material[......
  • The XOR Largest Pair(字典树)
    ​ 题目描述在给定的 N 个整数 A1,A2,…,AN 中选出两个进行异或运算,得到的结果最大是多少?输入格式第一行一个整数 N。第二行 N 个整数 Ai。输出格式一个整......
  • UMLChina建模竞赛第3赛季第1轮-列举软件开发中的“遮羞布”
    ​​软件方法(下)分析和设计第8章连载[20210723更新]>>​​人为了遮掩某些容易被人批评的东西,会有意无意地做出一些事情来“遮羞”。例如,考生知道自己不努力学习,肯定考不好,可......
  • 废话刷工作量比赛-建模竞赛题第2赛季第29轮
    “废话刷工作量”也是一种本事。例如,序列图上每条消息都给它配上一条返回消息,整张图的篇幅就翻了一倍……请对以下类图做“废话刷工作量”处理,即,在下图基础上添加尽可能多的......