当前位置: 首页 > news >正文

2025.11.08 力扣每日一题

1611.使整数变为0的最少操作整数

class Solution {
public:int minimumOneBitOperations(int n) {if (n == 0) {return 0;}int x = 31 - __builtin_clz(n);return (1 << (x + 1)) - 1 - minimumOneBitOperations(n - (1 << x));//抵消反向操作}
};
方法二:迭代

思路与算法

我们可以将方法一的递归改成迭代。这样的好处在于:

  • 我们不需要显式求解出 n 的位数 x;
  • 省去了递归需要的栈空间。

代码

class Solution {
public:int minimumOneBitOperations(int n) {int ans = 0;       // 存储最终的最少操作次数int sign = 1;      // 符号位,控制当前位的贡献是加还是减,初始为正// 遍历二进制的第29位到第0位(覆盖了32位整数中可能出现1的大部分位置)for (int i = 29; i >= 0; i--) {// 检查n的第i位是否为1(1<<i是第i位为1的掩码)if (n & (1 << i)) {// 若第i位为1,累加其贡献值:sign * (2^(i+1) - 1)ans += sign * ((1 << (i + 1)) - 1);// 翻转符号(下一个1的贡献会是相反的符号)sign = -sign;}}return ans;}
};

按照二进制位从高到低的顺序,根据每个 1 的位置计算其基准操作次数,再通过符号交替体现位之间的抵消关系,最终累加得到总操作次数。

http://www.dtcms.com/a/586121.html

相关文章:

  • SAP 模具生产订单创建接口分享
  • 网页游戏挂机软件试分析网站推广和优化的原因
  • 做网站框架网站开发调查表
  • Unreal5 从入门到精通之 学习Niagara特效系统
  • 安装方法的比较
  • Arrays.asList()使用避坑指南 - 看似简单,实则有坑
  • 4.3.5【2019统考真题】
  • 定制网站对公司有什么好处150网站建设
  • 新郑网站优化怎样让百度收录自己的网站
  • 安徽元鼎建设工程 网站做网站收入
  • 虚幻引擎5 GAS开发俯视角RPG游戏 P07-08 点击移动
  • 泰安公司做网站学做面包的网站
  • 陕西省建设工程信息网官网门户网站优化报价
  • 【代码审计】newbee-mall 三处安全问题分析
  • MySQL索引添加与删除方法详解
  • Node-RED:5分钟快速上手:安装与环境配置
  • 青海移动网站建设wordpress 显示标题
  • 3.1.STM32-GPIO通用输入输出口
  • 东营 网站建设公司网站项目设计
  • [论文阅读] AI + 职业教育 | 从框架到实践:职业院校教师人工智能素养提升的完整方案
  • 零基础入门C语言之C语言实现数据结构之顺序表应用
  • 网站建设 淘宝详情东莞网站建设哪里好
  • 大连的网站设计公司wordpress支持页面模版
  • 孤能子视角:房地产,独一无二的“社会场域能力“
  • 【AI安全】检索增强生成(RAG)
  • qt中以this为父窗口和以centralwidget为父窗口有什么区别
  • xxx网站建设与优化推广做网站市场报价步登顶
  • 【Spring Boot】REST与RESTful详解,基于Spring Boot的RESTful API实现
  • 2025年渗透测试面试题总结-234(题目+回答)
  • Z-Wave物联网网关开发专用 SDK - Unify