单调递增最长子序列
2016-02-29 10:05
183 查看
import java.util.*; import java.math.*; public class Main { public static void main(String[] args) { Solution s = new Solution(); Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int[] answer = new int ; for(int i = 0; i < N; i++) { answer[i] = s.getResult(sc.next()); } sc.close(); for(int i : answer) { System.out.println(i); } } } class Solution { public int getResult(String s) { int N = s.length(); char[] chArray = s.toCharArray(); int[] states = new int ; for(int i = 0; i < N; i++) { int pickMax = 1; for(int c = 0; c < i; c++) { if(chArray[c] < chArray[i]) { pickMax = states[c] + 1 > pickMax ? states[c] + 1 : pickMax; } } states[i] = pickMax; } int max = 1; for(int i : states) { if(i > max) max = i; } return max; } }
题目不难,算是动态规划的入门吧
相关文章推荐
- java 实现多种排序
- 不让控制台程序运行时显示dos界面
- unity3d,异步加载场景
- iOS开发笔记11:表单键盘遮挡、浮点数价格格式化显示、省市区选择器、View Debugging
- Web页面里面的资源文件
- apache安装方式
- java垃圾回收机制
- UIView事件传递
- easyui序号实现累加
- 电气词库
- Android实现Material Design风格的设置页面(滑动开关控件)
- 消息队列测试代码
- Android 实现蘑菇街购物车动画效果
- java选择排序
- UVa 11732 strcmp函数 trie树 左儿子右兄弟表示法
- 【leetcode】【27】Remove Element
- vc6 在win10上编译x64程序的问题总结
- 2016年计划
- 集合框架学习(二)
- 逆向在线游戏:创建一个包记录器和编辑器