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

贪心算法(20)(java)整数替换

给定一个正整数 n ,你可以做如下操作:

  1. 如果 n 是偶数,则用 n / 2替换 n 
  2. 如果 n 是奇数,则可以用 n + 1n - 1替换 n 。

返回 n 变为 1 所需的 最小替换次数 。

示例 1:

输入:n = 8
输出:3
解释:8 -> 4 -> 2 -> 1

示例 2:

输入:n = 7
输出:4
解释:7 -> 8 -> 4 -> 2 -> 1
或 7 -> 6 -> 3 -> 2 -> 1

示例 3:

输入:n = 4
输出:2

解法:

模拟(递归+记忆化搜索)

public class Solution {public int integerReplacement(int n){return dfs(n*1l);}public  int dfs(long n){if(n==1){return 0;}if(n%2==0){return 1+ dfs(n/2);}else {return 1+Math.min(dfs(n-1),dfs(n+1));}}public static void main(String[] args) {Solution solution=new Solution();int n= 8;System.out.println(solution.integerReplacement(n));}
}

相关文章:

  • 通过python实现bilibili缓存视频转为mp4格式
  • 《Ethical Implications of ChatGPT in Higher Education: A Scoping Review》全文翻译
  • 流量统计--Maven依赖
  • 学习笔记十一——零基础搞懂 Rust 函数式编程
  • G2学习打卡
  • Odrive源码分析(七) 逆park变换
  • LoadableTransportInfo函数分析之和全局对象LoadedLoadableTransports的关系
  • 本地Dify配置https协议【无域名版】
  • 每日算法-250415
  • C++中unique_lock和lock_guard区别
  • T1结构像+RS-fMRI影像处理完整过程记录(数据下载+Matlab工具箱+数据处理)
  • 【第45节】windows程序的其他反调试手段上篇
  • 【2025年3月中科院1区SCI】Rating entropy等级熵及5种多尺度,特征提取、故障诊断新方法!
  • Docker技术基础新手入门教程
  • 获取类路径
  • NLP高频面试题(四十二)——RAG系统评估:方法、指标与实践指南
  • bash的特性-常用的通配符
  • HarmonyOS-ArkUI V2装饰器: @Computed装饰器:计算属性
  • 【刷题2025】知识点梳理
  • Notepad++中将文档格式从Windows(CR LF)转换为Unix(LF)
  • 购车补贴、“谷子”消费、特色产品,这些活动亮相五五购物节
  • 辽宁省委书记郝鹏、省长王新伟赶到辽阳火灾事故现场指导善后处置工作
  • 上海开花区域结果,这项田径大赛为文旅商体展联动提供新样本
  • 国家能源局:支持民营企业参股投资核电项目
  • 旧衣服旧纸箱不舍得扔?可能是因为“囤物障碍”
  • 申花四连胜领跑中超联赛,下轮榜首大战对蓉城将是硬仗考验