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

Java | Leetcode Java题解之第514题自由之路

题目:

题解:

class Solution {public int findRotateSteps(String ring, String key) {int n = ring.length(), m = key.length();List<Integer>[] pos = new List[26];for (int i = 0; i < 26; ++i) {pos[i] = new ArrayList<Integer>();}for (int i = 0; i < n; ++i) {pos[ring.charAt(i) - 'a'].add(i);}int[][] dp = new int[m][n];for (int i = 0; i < m; ++i) {Arrays.fill(dp[i], 0x3f3f3f);}for (int i : pos[key.charAt(0) - 'a']) {dp[0][i] = Math.min(i, n - i) + 1;}for (int i = 1; i < m; ++i) {for (int j : pos[key.charAt(i) - 'a']) {for (int k : pos[key.charAt(i - 1) - 'a']) {dp[i][j] = Math.min(dp[i][j], dp[i - 1][k] + Math.min(Math.abs(j - k), n - Math.abs(j - k)) + 1);}}}return Arrays.stream(dp[m - 1]).min().getAsInt();}
}

http://www.mrgr.cn/news/59374.html

相关文章:

  • React-query vs. 神秘新工具:前端开发的新较量
  • 【Java知识】高性能网络框架Mina详细介绍
  • 数字化转型项目实施方案建议书|168页PPT
  • 从数据中台到数据飞轮:实现数据驱动的升级之路
  • Java中如何实现对象的序列化与反序列化过程?
  • react-query用户哭了:token认证还能这么玩?
  • 深度学习最值得关注的十篇论文
  • C++ | Leetcode C++题解之第514题自由之路
  • Golang | Leetcode Golang题解之第513题找树左下角的值
  • itemStyle.normal.label is deprecated, use label instead.
  • 第二十八节高斯模糊
  • C++ | Leetcode C++题解之第513题找树左下角的值
  • street_gaussians 点云监督
  • crontab定时
  • 群晖系统基本命令
  • Vue全栈开发旅游网项目首页
  • 论1+2+3+4+... = -1/12 的不同算法
  • 通过HBase实现大规模日志数据存储与分析
  • github上传文件代码以及其它github代码
  • 2024年MathorCup妈杯大数据竞赛选题人数发布