假设此题没有num2的影响,那么就可以计算num1二进制的1的个数,就是要操作的次数。

此时题中有num2,我们不妨从小到大枚举次数k,一次将所有次数的num2减去,再计算1的个数

     k为操作的次数

此时再计算t中二进制1的个数,记为r。

t<0:则不可能有解

t<k:即使每次取最小2的0次方,k个1加起来都大于t,无解

当r==k,自然成立,每次都取不同的指数。r>k,无论怎么取,都不可能有r个1。r<k,两个1可以进位为一个1,所以当k>r时,也成立。

综上从小到大枚举答案,如果满足t>k且k>=r则k次操作就可以达到。

class Solution {
public:int makeTheIntegerZero(int num1, int num2) {long long k;for(k=0;k<64;k++){       //long long的64位long long t=num1-k*num2;int r=0;for(int j=0;j<64;j++)            if(t>>j&1) r++;    //计算t的二进制1的个数                        if(t>=k && r<=k) return k;}return -1;}
};

2023.6.26每日一题相关推荐

  1. 2023.7.8每日一题

    因为此题是有序数组,所以可以使用双指针O(n)过,维护两端的双指针,如果总和大于target,右指针左移;小于target左指针右移即可. class Solution { public:vector ...

  2. 2023.6.8每日一题

    经过观察和样例和数据范围,发现此题不太好找规律,数据范围小,故可以用dfs+回溯解决 确定返回条件: 1.如果当前的使用的地砖数大于存的最小答案,就可以回溯,不再向下搜 2.如果没在1处返回并且当前铺 ...

  3. 2023.6.3每日一题

    分析此题可发现此题只有四种状态: ①:"aaab"这种只有一组连续相同的字符串,直接统计有多少个连续的. ②:"aaabbaaa"这种有两组但是中间隔的超过一个 ...

  4. 2023.6.1每日一题

    在求最小值中的最大值或最大值的最小值时,往往采用二分解决,这道题二分的对象就是甜蜜度.在二分之前首先对price进行升序排序,在二分初始化中:left=0,right=price[n-1]-price ...

  5. 2022/6/26每日一题———黑名单中的随机数

    题目: 黑名单中的随机数 个人思路: 直接得到0~n范围一个随机数,然后判断是不是在黑名单里面,不在的话就输出,在的话就重复执行pick()函数.缺点很明显,如果得到了一个随机数在黑名单中,那我们就需 ...

  6. 2023.7.1每日一题

    遍历O(n^2)能过,但可以O(n)过, 维护一个map,如果当前map中没有当前数字,就将target-当前数字和下标存入map中,否则返回当前数字下标和target-当前数字的下标 class S ...

  7. 2023.6.30每日一题

    遍历即可 class Solution { public:bool isCircularSentence(string sentence) {int n=sentence.size();int fla ...

  8. 2023.7.4每日一题

    先对每行排序,再将每行的所有列取最大值,一直加到ans里就行 class Solution { public:int matrixSum(vector<vector<int>> ...

  9. 2023.6.25每日一题

    判断矩形是否和圆有公共点,只需判断矩形上是否存在一点(x,y)满足点(x,y)到圆心的距离大于等于半径,如果满足则说明有公共点,不满足则说明没有公共点. 现在要找矩形上一点(x,y)到圆心的距离最小( ...

最新文章

  1. SQL2005合理的索引设计
  2. [转]Java AIO学习
  3. ioc框架 java_从零开始实现一个简易的Java MVC框架(三)--实现IOC
  4. java 设计模式 示例_Java中的状态设计模式–示例教程
  5. 14 操作系统第四章 文件管理 文件逻辑结构 文件目录结构
  6. cheatengine找不到数值_浙江工程勘察资质找谁代办(圆你资质梦)
  7. OpenWrt中对USB文件系统的操作, 以及读写性能测试
  8. Hive thrift服务(将Hive作为一个服务器,其他机器可以作为客户端进行访问)
  9. uniapp 移动端上传文件_移动端上传头像并裁剪 - Clipic.js
  10. 快速突破面试算法之分治算法篇
  11. 代码自动生成-宏递归思想
  12. AtCoder Beginner Contest 156 D Bouquet 失之交臂 容斥原理+二项式定理+乘法逆元+快速幂+模后负数 多余担心
  13. 友盟用户反馈(官方文档学习而来)
  14. 在网易有数上做数据加工和数据分析的实践
  15. Java视频教程(浙江大学翁恺)
  16. Android实战(四)——正能量日报
  17. IBM X服务器BIOS 使用说明
  18. 安装torch_points3d时提示 No such file or directory: nvcc
  19. 加密芯片十大品牌对比
  20. 对C语言的关键字及部分关键字用法的简单理解

热门文章

  1. “变量名”到底是什么?
  2. 03-树1 树的同构 判断树是否同构的略简单方法
  3. Qt WebEngine(01):Qt WebEngine 概述【官翻】
  4. 不是408,但很像408!双一流东北林业大学计算机考研改考!
  5. xp系统宽带连接断开怎么连接服务器,winxp的怎样断开和启用连接_winxp系统如何随意断开和启用连接网络图文教程...
  6. Twitter狗狗数据清洗
  7. PS的安装、背景、背景练习、雪碧图/精灵图、线性渐变、径向渐变、电影卡片练习——06fontbackground
  8. C#学生成绩查询(使用方法实现,查最大值,最小值,平均值,升序,降序)
  9. MySQL递归查询组织架构
  10. math专栏 01.数学内容概述