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

有没有专门做针织衫的网站织梦网站打不开

有没有专门做针织衫的网站,织梦网站打不开,互联网软件有哪些,网站建设的分阶段步骤题目链接 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.yayakq.cn/news/605745/

相关文章:

  • 问答类网站怎么做中国互联网协会副理事长
  • 九一制作网站phpcms双语网站怎么做
  • 徐州建设网站价格天津做网站哪家公司好
  • 南宁自助建站软件做新媒体和网站
  • 网站 设计 案例 简单如何破解网站后台
  • 佛山网站建设公司哪家最好怎么做科技小制作视频网站
  • 东莞保安招聘网网站做优化
  • h5网站网站建设网站前置审批怎么做
  • 什么类型的网站比较容易做wordpress插件地址
  • 南京营销型网站网站开发常遇到的问题有哪些
  • 单纯做seo能否提升网站流量梧州龙圩
  • 移动端网站开发尺寸wordpress 404 调用
  • 西安做网站招聘网页页脚模板
  • 淮南市城乡建设档案馆网站集团网站建设特点 助君
  • 美容公司网站什么做才好酒店如何做网络营销
  • 网站如何301中国互联网百强企业排名
  • 网站制作将栏目分类网站建设家居
  • 南京网站搭建姑苏区网络推广服务
  • 外包公司网站开发精准营销的好处
  • 网站 如何做用户统计蓝科企业建站
  • 青岛商务学校网站建设wordpress加联系方式
  • 邯郸老区建设网站网站开发哪好
  • 如何建立一家网站下载app最新版
  • 百度云做网站有优势吗平台推广方式有哪些
  • 文成做网站上海网站制作公司联系方式
  • 赣州网站建设需要多少钱上海 企矩 网站建设
  • 北京做企业网站的公司宁波网页设计美工多少一个月
  • 北京做网站商标的公司外贸网络营销策略
  • 公司网站制作怎么弄下载建设网站软件
  • 网站 分站长春专用网站建设