动态规划 括号匹配
来源:互联网 发布:淘宝如何注销实名认证 编辑:程序博客网 时间:2024/05/22 00:18
题目来源于算法艺术与信息学竞赛动态规划那章。
分别运用了2种形式来解决这题。
package com.bluecup.org;import java.util.Arrays;import java.util.Scanner;public class DaiTai {static int f[][]=new int[20][20];/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubfor(int i=0;i<20;i++)for(int j=0;j<20;j++){f[i][j]=-1;}Scanner scanner=new Scanner(System.in);String str=scanner.nextLine();System.out.println(digui(str,0,str.length()-1));}private static int digui(String str, int i, int j) {// TODO Auto-generated method stubint answer=Integer.MAX_VALUE;if(f[i][j]!=-1)return f[i][j];if(i>j){return 0;}if(i==j)return 1;String strs=str.charAt(i)+""+str.charAt(j);if(strs.equals("()")||strs.equals("[]")){answer=Math.min(answer, digui(str,i+1,j-1));}else if(str.charAt(i)=='['||str.charAt(i)=='('){answer=Math.min(answer,digui(str,i+1,j)+1);}else if(str.charAt(j)==']'||str.charAt(j)==')'){answer=Math.min(answer ,digui(str,i,j-1)+1);}for(int index=i;index<j;index++){answer=Math.min(answer, digui(str,i,index)+digui(str,index+1,j));}f[i][j]=answer;return answer;}}
package com.bluecup.org;import java.util.Scanner;public class BracketsSequence {static int f[][]=new int[20][20];public static void main(String[] args) {// TODO Auto-generated method stubScanner scanner=new Scanner(System.in);String str=scanner.nextLine();char c[]=str.toCharArray();int n=str.length(); for(int i=0;i<n;i++) { f[i][i]=1; }for(int l=1;l<n;l++){for(int i=0;i<n-l;i++){int k=i+l;if(k-1==i){f[i][k]=2;if(c[i]==c[k])f[i][k]=0;continue;}f[i][k]=f[i][k-1]+1;if(c[i]==c[k])f[i][k]=f[i+1][k-1];for(int j=i+1;j<k-1;j++)//比如1-5,最后应该求1-3+4+5{if(f[i][j]+f[j+1][k]<f[i][k])f[i][k]=f[i][j]+f[j+1][k];}}}System.out.println(f[0][n-1]+" "+f[0][1]);}}
0 0
- 动态规划 括号匹配
- 动态规划 :POJ 1141 括号匹配
- hdu 4283 动态规划 类似括号匹配
- nyoj 15括号匹配 (动态规划)
- poj 2955 动态规划--括号匹配
- 括号匹配问题(动态规划)
- nyoj-括号匹配(二)---动态规划
- NYOJ-括号匹配(二)-动态规划
- NYIST 15 括号匹配(二) 动态规划
- NYoj 15 括号匹配(二)[动态规划.有点难]
- NYOJ-15 括号匹配(二) 动态规划 递归
- 关于括号匹配数目的动态规划算法的解决方法
- 【动态规划】括号序列
- [ACM] 携程预赛第一场 括号匹配 (动态规划)
- 括号匹配(二)--侥幸通过,用动态规划的思想
- [DP]携程预赛第一场 括号匹配 (动态规划)
- LeetCode 32 Longest Valid Parentheses 最大合法括号匹配长度计算 动态规划算法有待学习
- 动态规划:括号知多少
- android 架构及运行机制
- 状态模式
- struts1学习入门
- WSAAyncSelect 学习的经典例子(tcp实现)
- 访问者模式
- 动态规划 括号匹配
- 学习-----通信加密的相关包
- SAP 将ITAB内表的数据转换为XML字符串 代码实例
- 梅式砝码问题
- 移动硬盘根目录里的msdia80.dll文件
- SqlServer2008r2在查询时将两列合并显示
- ZIGBEE中Profile、Cluster和Attribute关系
- 原型模式——浅复制VS深复制
- 11782 - Optimal Cut(树形DP+记忆化搜索)