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

LeetCode1387 将整数按权重排序

思路

  • 首先是这种计算权重的方式很有可能出现重复,所以需要记忆化搜索
  • 记忆化搜索:先查表再计算,先存表再返回。
  • 将整数 x 和计算的权重分别存储数组的0和1的位置
  • 重写compare将数组排序按规则排序
  • 返回结果

代码

class Solution {private HashMap<Integer, Integer> me = new HashMap<>();public int getKth(int lo, int hi, int k) {int[][] arr = new int[hi - lo + 1][2];for (int i = lo; i <= hi; i++) {int tmp = dfs(i);me.put(i, tmp);arr[i - lo][0] = i;arr[i - lo][1] = tmp;}Arrays.sort(arr, new Comparator<int[]>() {@Overridepublic int compare(int[] o1, int[] o2) {return o1[1] == o2[1] ? o1[0] - o2[0] : o1[1] - o2[1];}});return arr[k-1][0];}int dfs(int x) {int res = 0;if(me.get(x) != null){res = me.get(x);return res;}else if (x == 1) {res = 0;} else if (x % 2 == 1) {res = 1 + dfs(x * 3 + 1);} else {res = 1 + dfs(x / 2);}me.put(x, res);return res;}
}
http://www.lryc.cn/news/129960.html

相关文章:

  • 正则表达式--Intellij IDEA常用的替换
  • 前端如何安全的渲染HTML字符串?
  • C++学习第十四天----for循环
  • 快速解决在进入浏览器时,明明连接了网络,但是显示你尚未连接,代理服务器可能有问题。
  • TypeScript入门指南
  • excel中定位条件,excel中有哪些数据类型、excel常见错误值、查找与替换
  • 19c_ogg搭建
  • 网络通信原理网络层TCP/IP协议(第四十三课)
  • yolov5封装进ros系统
  • Flowable 源码目录结构
  • 科大讯飞星火模型申请与chatgpt 3.5模型以及new bing的对比
  • 无涯教程-TensorFlow - 分布式计算
  • python+django+mysql项目实践五(信息搜索)
  • Python Opencv实践 - 图像透射变换
  • SpringBoot + Vue 微人事项目(第二天)
  • 【AIGC】 快速体验Stable Diffusion
  • Python入门【动态添加属性和方法、正则表达式概述、match函数的使用、常用匹配符、限定符 、限定符使用示例】(二十九)
  • 《Go 语言第一课》课程学习笔记(四)
  • 制定建立商务模式财务及企业管理信息系统的解决方案
  • UE Json Operate 解析嵌套数组
  • sd-webui安装comfyui扩展
  • Apache Doris 2.0.0 版本正式发布:盲测性能 10 倍提升,更统一多样的极速分析体验
  • LeetCode235. 二叉搜索树的最近公共祖先
  • 设计模式——建造者(Builder)模式
  • Java课题笔记~ SpringBoot概述
  • python优雅地爬虫!
  • UVM RAL后门访问配置
  • 数学建模之“灰色预测”模型
  • 深入探讨 Oxigen:Rust 实现的并行遗传算法框
  • Flink-----Standalone会话模式作业提交流程