博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
动态规划——Freedom Trail
阅读量:7057 次
发布时间:2019-06-28

本文共 1630 字,大约阅读时间需要 5 分钟。

题目:https://leetcode.com/problems/freedom-trail/

额。。。不解释大意了,题目我也不想写过程了有点繁琐,直接给出代码:

1 public int findRotateSteps(String ring, String key) { 2         int rlen = ring.length(); 3         int klen = key.length(); 4         int[][]dp = new int[klen+1][rlen+1]; 5         int temp = 0,step = 0,diff = 0; 6         for(int i = 0;i<=klen;i++) { 7             for(int j = 1;j<=rlen;j++) 8                 if(i==0)dp[i][j] = 0; 9                 else dp[i][j] = Integer.MAX_VALUE;10         }11         for(int i = 1;i<=klen;i++) {12             for(int j = 1;j<=rlen;j++) {13                 temp = Integer.MAX_VALUE;14                 if(ring.charAt(j-1)==key.charAt(i-1)) {15                     if(i==1)temp = Math.min(j-1,rlen+1-j);16                     else {17                         for(int k = 1;k<=rlen;k++)18                             if(dp[i-1][k]!=Integer.MAX_VALUE) {19                                 diff = Math.abs(j-k);20                                 step = Math.min(diff,rlen-diff);21                                 temp = Math.min(temp,step+dp[i-1][k]);22                             }23                     }24                 }25                 dp[i][j] = temp;26             }27         }28         /*29         for(int i = 1;i<=klen;i++) {30             for(int j = 1;j<=rlen;j++)31                 System.out.print(dp[i][j]+" ");32             System.out.println();33         }*/34         int ans = dp[klen][1];35         for(int i = 2;i<=rlen;i++) {36             ans = ans < dp[klen][i]?ans:dp[klen][i];37         }38         return ans+klen;39     }

 

转载于:https://www.cnblogs.com/messi2017/p/9943694.html

你可能感兴趣的文章
centos6 内核优化
查看>>
Linux安装gitlab
查看>>
十四条令PHP初学者头疼问题大总结(1)
查看>>
MySQL的备份与还原
查看>>
加密U盘专业加密芯片方案
查看>>
js比较字符数组元素是否重复
查看>>
码客Online:HTC Zoe是什么功能?
查看>>
windows server 2012 r2 搭建企业文件共享存储
查看>>
从零学习游戏服务器开发(三) CSBattleMgr服务源码研究
查看>>
我的友情链接
查看>>
jQuery ajax - serialize() 方法
查看>>
Linux中设置服务自启动的三种方式(转)
查看>>
将Shapefile(SHP)转换为Surfer中的网格(GRD)的方法-适用Surfe14以上版本
查看>>
Linux下实现Apache站点安全
查看>>
el表达式
查看>>
看看JDK 8能给开发者们带来什么
查看>>
严重: IOException while loading persisted sessions: java.io.EOFException
查看>>
win8升级经验谈
查看>>
搜索文件命令
查看>>
postfix+dovecot配置多域名邮件服务器
查看>>