首页 > 其他分享 >LeetCode397. Integer Replacement

LeetCode397. Integer Replacement

时间:2022-12-05 20:33:45浏览次数:54  
标签:return temp int LeetCode397 integerReplacement result judge Integer Replacement

题意

一个数n, 若为偶数, 则除2, 若为奇数, 则加减1; 求其最终为1, 需要几步

方法

位运算

代码

class Solution {
public:
    int integerReplacement(int n) {
        if(n==1)    return 0;
        int result=0;
        while((n&1)==0)
        {
            ++result;
            n=n>>1;
        }
        if(n==1)
        {
            return result;
        }
        int judge=1,temp=0;
        while((judge&n)==judge)
        {
            ++temp;
            judge=judge<<1;
        }
        int p=n>>temp;
        int first=(p==0)?2*(temp-1):integerReplacement(p)+2*(temp);
        int second=integerReplacement(p|1)+temp+1;
        return result+min(first,second);
    }
};

标签:return,temp,int,LeetCode397,integerReplacement,result,judge,Integer,Replacement
From: https://www.cnblogs.com/Figure_at_a_Window/p/16953409.html

相关文章

  • LeetCode: 273. Integer to English Words
    LeetCode:273.IntegertoEnglishWordsConvertanon-negativeintegertoitsenglishwordsrepresentation.Giveninputisguaranteedtobelessthan​​23^1-......
  • Integer的使用小计
    关于Integer的范围,可能这个大家都接触过,Java基础面试题中,经常出现的一个问题就是int的范围。但是离了面试题之后,我们是否还能注意到这个范围呢?最近在做项目的时候发现了一颗......
  • 【问题】Unknown return value type: java.lang.Integer springboot插入数据 报错
    很诡异的事情发生了。。。。。。。在使用springboot搭建一个springboot整合mybatis的demo时,测试插入数据的方法,数据成功插入数据库了,但是控制台却报了这个错,提示为止返回类......
  • 高效的Integer.valueOf小结
    在PMD中,都建议使用的Integer.valueOf,avoidinstantiatingintegerobjects.CallInteger.valueOf()instead.历史:JDK1.5后增加了Integer.valueOf......
  • 29. Divide Two Integers
    Dividetwointegerswithoutusingmultiplication,divisionandmodoperator.Ifitisoverflow,returnMAX_INT.那么如果每次不仅仅减去1个除数,计算速度就会增加,但......
  • java中乐观锁CAS的实现探究——AtomicInteger
    CASCAS——compareandswap,比较并交换。是一种乐观锁的实现方式。更新操作时,在每次更新之前,都先比较一下被更新的目标T,值是不是等于读取到的旧值O,如果相等,则认为在读取......
  • Integer转换为日期字符串的方法分享
    转自:​​http://www.java265.com/JavaJingYan/202205/16530565423432.html​​时间是每一个系统开发中必不可少的一部分,那么时间在数据库中的存储也是大有讲究的,如何合理的......
  • 关于new integer(1)==new integer(1)
    先上测试代码:publicclassTest{publicstaticvoidmain(String[]args){Integerl1=newInteger(1);Integerl2=newInteger(1);......
  • 【Bug】No validator... javax.validation.constraints.NotBlank validating type jav
    经检查,是因为在Integer类型的字段上加了@NotBlank的校验注解,而该注解只能用于字符串类型,因此报类型不匹配异常@NotBlank(message="整季量不能为空")privateInteger......
  • 1103 Integer Factorization
    The K−P factorizationofapositiveinteger N istowrite N asthesumofthe P-thpowerof K positiveintegers.Youaresupposedtowriteaprogram......