活跃农民
- 积分
- 334
- 大米
- 颗
- 鳄梨
- 个
- 水井
- 尺
- 蓝莓
- 颗
- 萝卜
- 根
- 小米
- 粒
- 学分
- 个
- 注册时间
- 2015-11-23
- 最后登录
- 1970-1-1
|
顺便写了一下第二题,如果不对请指正呀
- public static int makeStringPalindrome(String s) {
- if(s == null || s.length() == 0) {
- return 0;
- }
- int n = s.length();
- int[][] dp = new int[n][n];
- for(int i = 0; i < n; i++) {
- dp[i][i] = 0;
- }
- for(int len = 2; len <= n; len++) {
- for(int i = 0; i < n; i++) {
- int j = i + len - 1;
- if(j < n) {
- if(s.charAt(i) == s.charAt(j)) {
- dp[i][j] = dp[i+1][j-1];
- } else {
- dp[i][j] = Math.min(dp[i+1][j-1], Math.min(dp[i+1][j], dp[i][j-1])) + 1;
- }
- }
- }
- }
- return dp[0][n-1];
- }
复制代码 |
|