Leetcode 3226. 使两个整数相等的位更改次数

模拟题,但是要注意按位与操作和比较运算符的优先级,比较运算符优先级更高,所以t1,t2这样写,不然就得加括号。

复制代码
 1 class Solution {
 2 public:
 3     int minChanges(int n, int k) {
 4         int res=0;
 5         while(n&&k){
 6             int t1=n&1;
 7             int t2=k&1;
 8             if(t1!=t2){
 9                 if(t1==1)
10                     res++;
11                 else
12                     return -1;
13             }
14             n>>=1;
15             k>>=1;
16         }
17         if(k)
18             return -1;
19         while(n){
20             int t1=n&1;
21             if(t1)
22                 res++;
23             n>>=1;
24         }
25         return res;
26     }
27 };
复制代码

 

posted on   greenofyu  阅读(5)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示