资讯专栏INFORMATION COLUMN

LeetCode 397 整数替换[递归] HERODING的LeetCode之路

HtmlCssJs / 3131人阅读

摘要:解题思路这题就是最基础的递归运算题目,两个选择,一个是偶数,一个是奇数,偶数直接除操作,奇数变成左右两个偶数继续操作选择操作最小的,注意有一个用例是,解决方法有两种,第一就是首先把的二次幂都干掉,代码如下

解题思路:
这题就是最基础的递归运算题目,两个选择,一个是偶数,一个是奇数,偶数直接除2操作,奇数变成左右两个偶数继续操作(选择操作最小的),注意有一个用例是2147483647,解决方法有两种,第一就是首先把2的二次幂都干掉,代码如下:

class Solution {public:    int integerReplacement(long long n) {    		// 如果是2的二次幂        if(n & (n-1) == 0){            int res = 0;            while(n > 1){                res ++;                n >>= 1;            }            return res;        }        if(n % 2 == 0)            return integerReplacement(n/2) + 1;        else               return min(integerReplacement(n+1), integerReplacement(n-1)) + 1;    }};

第二种方法就是直接对奇数开半递归和开半加一递归,这样的代码会更加简洁,代码如下:

class Solution {public:    int integerReplacement(int n) {        if(n == 1) {            return 0;        }        if(n % 2 == 0) return 1 + integerReplacement(n / 2);        else return 2 + min(integerReplacement(n / 2), integerReplacement(n / 2 + 1));    }};

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/123941.html

相关文章

  • LeetCode 563 二叉树坡度[dfs] HERODINGLeetCode之路

    摘要:解题思路一道非常简单的题目,不能被绕进去,首先要把题目读明白,左右坡度差本质上是左右子树和之差,那么问题就简单了,每次,返回的就是当前所在子树之和,更新坡度差的话就是当前左右子树之差,这两个要分开来计算,代码如下 ...

    VincentFF 评论0 收藏0
  • LeetCode 859 亲密字符串[模拟] HERODINGLeetCode之路

    摘要:解题思路一道并不简单的模拟题,需要考虑的情况总结下来有三种长度不同返回完全相同且有重复字符返回字符串有不相等的两个地方需要查看它们交换后是否相等即可。 解题思路:...

    aisuhua 评论0 收藏0
  • LeetCode 520 检测大写字母[模拟] HERODINGLeetCode之路

    摘要:解题思路模拟题就按照题目意思来做题目分三种情况那我们也分三种情况通过设置用来标志第一位是大写还是小写小写的话直接通过后面的都不能大写来判断大写的话用记录后面的大写的个数为或者为字符串长度才符合要求代码如下代码 ...

    番茄西红柿 评论0 收藏2637
  • LeetCode 319 灯泡开关[数学] HERODINGLeetCode之路

    摘要:解题思路这题本质就是数学,需要分析,每个灯泡会被翻转的时机正好是他的约数次遍历的时候,那么我们其实知道,对于每个数的约数都是成对出现的,除非是完全平方数,会有奇数个约数,所以,最后完全平方数的灯泡会亮,题目也就变成了找 ...

    liujs 评论0 收藏0
  • LeetCode 423 从英文中重建数字[数组] HERODINGLeetCode之路

    摘要:解题思路首先要明确一点,就是打乱的英文能够还原成数字,然后观察表格规律你就能发现,有的数字一个字母就能决定出现。所以我们从单个字母就能知晓的数字出发进行统计,用一个长度的数组来存储字母个数,然后对每一个数字一一统计,代码如下 ...

    JerryZou 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<