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

C语言 | Leetcode C语言题解之第397题整数替换

题目:

题解:

//第一种动态规划:超时
// class Solution {
// public:
//     int integerReplacement(int n) {
//         vector<int>dp(n+1,0);
//         dp[1]=0;
//         for(int i=2;i<=n;i++){
//             if(i%2==0){
//                 dp[i]=dp[i/2]+1;
//             }
//             else{
//                 dp[i]=min(dp[i-1],dp[(i+1)/2]+1)+1;
//             }
//         }
//         return dp[n];
//     }
// };
//第二种:递归。这里需要注意一下就是int数据溢出的问题。
class Solution{
public:
    long Solve(long num){
        if(num==1){
            return 0;
        }
        if(num%2==0){
            return Solve(num/2)+1;
        }
        else{
            return (long)min(Solve(num-1),Solve(num+1))+1;
        }
    }
    int integerReplacement(int n){
        long num=n;
        return Solve(num);
    }
};

相关文章:

  • node.js实现阿里云短信发送
  • 【字符串】AC自动机+dp
  • Android 11 FileProvider的使用和限制
  • vue3-print打印eletable某一行的数据
  • 油烟净化器选购指南:高效净化与优质服务并存的选择
  • AI论文精读笔记-Generative Adversarial Nets(GAN)
  • 远程访问电脑共享文件
  • ansible_find模块
  • 使用vscode上传git远程仓库流程(Gitee)
  • Vue3 响应式工具函数isRef()、unref()、isReactive()、isReadonly()、isProxy()
  • Springcould -第一个Eureka应用 --- day02
  • SpringBootAdmin源码修改编译002_踩坑记录一堆坑_记录过程_没有成功---VUE工作笔记0027
  • uniapp+uview-plus实现微信小程序自定义tabbar
  • 待机模式中WKUP上升沿模拟开机与关机
  • css总结(记录一下...)
  • 从底层原理上理解ClickHouse 中的稀疏索引
  • freeRTOS 任务的创建、挂起、恢复
  • Java代码审计篇 | ofcms系统审计思路讲解 - 篇4 | XXE漏洞审计
  • 在 Ubuntu 20.04 上安装 Python 3.12:详细教程
  • C++学习笔记之引用(基础)
  • AI含量非常高,2025上海教育博览会将于本周五开幕
  • 超新星|18岁冲击中超金靴,王钰栋的未来无限可能
  • Manus向全球用户开放注册
  • 香港根据《维护国家安全条例》订立附属法例
  • 为惩戒“工贼”,美国编剧工会“痛下杀手”
  • 多家中小银行存款利率迈入“1时代”