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

手工活300元一天双桥seo排名优化培训

手工活300元一天,双桥seo排名优化培训,桂林网站开发建设,wordpress首页广告位题目链接 Leetcode.2571 将整数减少到零需要的最少操作数 rating : 1649 题目描述 给你一个正整数 n n n ,你可以执行下述操作 任意 次: n n n 加上或减去 2 2 2 的某个 幂 返回使 n n n 等于 0 0 0 需要执行的 最少 操作数。 如果 x 2 i x 2^…

题目链接

Leetcode.2571 将整数减少到零需要的最少操作数 rating : 1649

题目描述

给你一个正整数 n n n ,你可以执行下述操作 任意 次:

  • n n n 加上或减去 2 2 2 的某个

返回使 n n n 等于 0 0 0 需要执行的 最少 操作数。

如果 x = 2 i x = 2^i x=2i 且其中 i ≥ 0 i \geq 0 i0 ,则数字 x x x 2 2 2 的幂。

示例 1:

输入:n = 39
输出:3
解释:我们可以执行下述操作:

  • n 加上 20 = 1 ,得到 n = 40 。
  • n 减去 23 = 8 ,得到 n = 32 。
  • n 减去 25 = 32 ,得到 n = 0 。
    可以证明使 n 等于 0 需要执行的最少操作数是 3 。
示例 2:

输入:n = 54
输出:3
解释:我们可以执行下述操作:

  • n 加上 21 = 2 ,得到 n = 56 。
  • n 加上 23 = 8 ,得到 n = 64 。
  • n 减去 26 = 64 ,得到 n = 0 。
    使 n 等于 0 需要执行的最少操作数是 3 。
提示:
  • 1 ≤ n ≤ 1 0 5 1 \leq n \leq 10^5 1n105

解法:贪心

我们用 c n t cnt cnt 表示连续的 1 1 1 的个数 , a n s ans ans 表示操作数。

此时遇到的是 0 0 0

  • 如果此时 c n t = 1 cnt = 1 cnt=1,那么此时直接选择减去这个 1 1 1 即可,即 a n s = a n s + 1 ans = ans + 1 ans=ans+1 c n t = 0 cnt = 0 cnt=0
  • 如果此时 c n t > 1 cnt > 1 cnt>1,那么此时有多个连续的 1 1 1,所以我们选择相加,将这多个 1 1 1 变为 1 1 1 1,即 a n s = a n s + 1 ans = ans + 1 ans=ans+1 c n t = 1 cnt = 1 cnt=1

最后如果 c n t = 1 cnt = 1 cnt=1,说明还有一个 1 1 1 ,直接减去即可,即 a n s = a n s + 1 ans = ans + 1 ans=ans+1

如果 c n t > 1 cnt > 1 cnt>1,说明最后还有多个连续的 1 1 1,我们需要用两步将其减为 0 0 0,即 a n s = a n s + 2 ans = ans + 2 ans=ans+2

时间复杂度: O ( l o g n ) O(logn) O(logn)

C++代码:

class Solution {
public:int minOperations(int n) {int ans = 0 , cnt = 0;while(n){if(n & 1) cnt++;else{if(cnt == 1) ans++ , cnt = 0;else if(cnt > 1) ans++ , cnt = 1;}n >>= 1;}if(cnt == 1) ans++;else if(cnt > 1) ans += 2;return ans;}
};
http://www.dinnco.com/news/50301.html

相关文章:

  • 政务服务网站建设资金快速排名优化推广排名
  • 网站怎么做gps定位2345网址导航浏览器下载
  • 专业购物网站baidu百度首页官网
  • 网站建设可行性研究报告 baidu百度seo查询系统
  • 安阳市哪里做网站建设关键词什么意思
  • 东圃做网站的公司关键词首页排名优化
  • 阿里云服务器上传网站网络优化工程师工作内容
  • 制作简历的免费模板网站培训机构优化
  • 慈溪网站建设报价镇江网站
  • 织梦网站排版能调整吗北京seo网站推广
  • 任丘市做网站价格百度推广培训班
  • 中小型网站建设百度热搜榜排名昨日
  • 国防教育网站建设说明书一键制作网站
  • 郑州做网站推广电话网络推广接单平台
  • 做趣味图形的网站郑州seo优化哪家好
  • 怎么建设自己网站会计培训班哪个机构比较好
  • 网站提交链接入口培训班有哪些
  • 申请网站空间常见的网络营销手段
  • 做网站的哪家好学seo如何入门
  • 银行的网站做的真垃圾新网域名注册
  • 卖环保设备做哪个网站好免费网站模板网
  • 网站优化软件有哪些网站优化快速排名软件
  • 政府网站建设人员的组织雅虎搜索引擎首页
  • wordpress运行机制深圳关键词优化平台
  • 网站权重的重要性长沙优化网站推广
  • 拖拽式建站平台医院线上预约
  • wordpress归档页面泉州seo排名扣费
  • python 网站架构百度地图人工电话
  • 网站建设 翻译seo排名赚下载
  • 网站如何做流量内蒙古最新消息