2021-11-19

作者: 16孙一凡通工 | 来源:发表于2021-11-19 09:55 被阅读0次

刚开始觉得很简单,最小直接取n-1不就行了,觉得是一道简单题,后来发现大意了,应该是n+1,n-1两种情况选择一种最小的方案,于是程序写成了递归更方便,java版本参考了官方记忆化搜索,在之前的基础上加了个hashmap,感觉并没有大的区别。

Go版本:

import "fmt"
func integerReplacement(n int) int {
    return dfs(n);
}

func dfs(n int)int{
    if n==1{
        return 0
    }
    if n%2==0{
        return 1+dfs(n/2)
    }
    return  1+min(dfs((n-1)),dfs((n+1)))
    
}
func min(num1 int,num2 int)int{
    if num1>num2{
        return num2
    }
    return num1
}

java版本:

class Solution {
    HashMap<Integer,Integer> hashmap=new HashMap<Integer,Integer>();
    public int integerReplacement(int n) {
        if(n==1){
            return 0;
        }

        if(!hashmap.containsKey(n)){
            if(n%2==0){
                hashmap.put(n,1+integerReplacement(n/2));
            }else{
                hashmap.put(n,2+Math.min(integerReplacement(n/2),integerReplacement(n/2+1)));
            }

        }
        return hashmap.get(n);

    }
}

相关文章

  • 激情晨读

    激情晨读 作者:柴宁 2021-11-19 大家好,我叫柴宁,很荣幸在这...

  • No 254  小麦芽之四

    文/Doctorzuo 2021-11-19 这是我重新日更的第254,小童宝4岁 先上图,在说话。 下午下夜班回...

  • 道在低处,上善若水的企业家思维模式

    2021-11-19 成长学习课堂【道在低处,上善若水的企业家思维模式】 我们要成就和利益他人,而不是去挑...

  • 《金吾生〈正蒙〉日记499.2021-11-19》

    《金吾生〈正蒙〉日记499.2021-11-19》 今天是辛丑己亥辛未,十月十五,2021-11-19星期五。 【...

  • 写给先生(86)

    2021-11-19 阴 今天的太阳躲到哪里去了?先生那里暖和吗?有没有想我这个小太阳呀? 先生,如果你够及时能赶...

  • 就想抽自己

    2021-11-19 抡圆了胳膊,想抽自己,真的! 本来烧了一锅开水 准备蒸俩红薯,结果 锅烧干了,红薯愣是没有放...

  • 我的育儿观

    2021-11-19 记录于小红书博主“洛洛大方丫” 一、怎样夸孩子? 许多人都在用错误的方法夸孩子,只会适得其反...

  • 2021-11-18 明日小计划

    2021-11-19难得的排休又来了,感觉有点感冒,一直想着的Plan A多数是要黄了,那就换吧…… 之前留好的P...

  • 注电的小道消息

    幸福日志2021-11-19 周五晴 绝望了,今年供配电注电的小道消息出来了,除了停考的省份,洋洋8600多的考生...

  • 从俞敏洪登上热搜想到的

    2021-11-19 最近新东方的俞敏洪频繁登上热搜。 先是月初,因为双减政策影响,新东方的很多校区关闭,这些校区...

网友评论

    本文标题:2021-11-19

    本文链接:https://www.haomeiwen.com/subject/ayystrtx.html