杭电ACM1003 求最大子序列和问题
来源:互联网 发布:列主元高斯消去法编程 编辑:程序博客网 时间:2024/04/30 03:42
刚接触ACM,试着用java去写,到了1003好不容易写好个,提交说超时,我用的是暴力求解啊!!!超时就成必须的,最大子序列求和要用到动态规划的思想,以后做题之前一定要好好想想有没有更好的解决办法
暴力方法:
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int caseNum = scanner.nextInt();scanner.nextLine();int[][] input = new int[caseNum][];for (int i = 0; i < caseNum; i++) {int length = scanner.nextInt();input[i] = new int[length];for (int j = 0; j < length; j++) {input[i][j] = scanner.nextInt();}scanner.nextLine();}for (int i = 0; i < caseNum; i++) {System.out.println("Case " + (i + 1) + ":");outputCase(input[i]);System.out.println();}}public static void outputCase(int[] a) {int sum = a[0];int start = 0;int end = 0;for (int i = 0; i < a.length; i++) {for (int j = 0; i + j < a.length; j++) {int tempSum = 0;for (int k = 0; k <= j; k++) {tempSum += a[i + k];}if (tempSum > sum) {sum = tempSum;start = i + 1;end = i + j + 1;}}}System.out.println(sum + " " + start + " " + end);}}
下面链接的文章对这个问题说的很详细
点击打开链接
- 杭电ACM1003 求最大子序列和问题
- 子序列最大和(杭电acm1003)
- 杭电ACM1003 最大子数组之和
- 动态规划之最大子段和 HDU杭电acm1003,循环最大子段和51nod1050
- 杭电-5586-最大子序列和
- 求最大子数组/子序列/子段和问题
- 求最大子序列问题
- 求序列的最大子序列和的问题
- 求最大子序列和
- 求最大子序列和
- 求最大子序列和
- 求最大子序列和
- 求最大和子序列
- 求最大和子序列
- 求最大子序列和
- 求最大子序列和
- 求最大子序列和
- 求最大子序列和
- PHP 用户登录,验证码的生成,搜索代码
- 子域父域互相管理
- DOTNET零碎要点---vb.net获取combox的选中值,删除Datagridview,选中值,处理提示框...
- zoj1005 广搜
- 常备十大开源工具
- 杭电ACM1003 求最大子序列和问题
- JavaScript实现mop新闻动态图
- 通过onmouseover实现图片的变化 选项卡
- strcpy,strncpy和strncpy_s的区别
- 乱码问题解决方法
- 字符串函数 值的互换
- 正则表达式详解
- 用js实现复选框的反选和全选和全不选
- hdu 2089 不要62