java实现动态规划求解给定矩阵的和最大的子数组(矩阵中数字正负均存在)
来源:互联网 发布:华为程序员工资多少 编辑:程序博客网 时间:2024/06/06 02:57
问题:
给定一个指定的矩阵,维数小于1000,在矩阵的所有子数组中寻找具有最大和的子数组求和输出
思路:
典型的动态规划问题
下面是具体的实现:
import java.util.Scanner;class largestSubSum{public static void printArr(int[] numbers) { for(int i = 0 ; i < numbers.length ; i ++ ) { System.out.print(numbers[i] + ","); } System.out.println(""); }public static void main(String[] args) {int M,N;Scanner sc=new Scanner(System.in);M=sc.nextInt();N=sc.nextInt();int total=M*N;int [][] arr=new int[M][N];int [] b=new int[total];for (int i =0;i<M;i++ ){ for (int j=0;j<N ;j++ ) { arr[i][j]=sc.nextInt(); b[i*N+j]=arr[i][j]; } } printArr(b); sc.close(); int []dp=new int[total]; dp[0]=b[0]; for(int i=1;i<total;i++){ dp[i]=Math.max(dp[i-1]+b[i],dp[i-1]); } printArr(dp); System.out.println("The Largest Sum of subArr is:"+dp[total-1]); }}
结果如下:
阅读全文
1 0
- java实现动态规划求解给定矩阵的和最大的子数组(矩阵中数字正负均存在)
- python实现动态规划求解给定矩阵的和最大的子数组(矩阵中数字正负均存在)
- 动态规划 最大子矩阵的和
- 【动态规划】求二维矩阵的最大和子矩阵
- 动态规划求解矩阵累计和最大的路径
- 利用动态规划求连续数组最大和以及最大子矩阵的和
- 存在正负数数组的最大子数组和
- 动态规划:ZOJ1074-最大和子矩阵 DP(最长子序列的升级版)
- 求二维数组最大子数组和(或矩阵的最大子矩阵和)
- 子数组最大和 动态规划求解
- 动态规划-最大子矩阵和
- poj1050(动态规划+最大子矩阵和)
- 子数组最大累加和+子矩阵的最大和+子数组累加和为给定值的最大子数组长度
- 二维数组和最大的子矩阵
- 动态规划---最大子段和&最大子矩阵和
- python求解矩阵搜索问题,矩阵中每一行和第一列都是递增的 给定一个元素查找矩阵中是否存在该元素
- 最大子矩阵(动态规划)
- 动态规划 02 (最大子矩阵)
- angular.js 指令集实现模态框拖动(3)
- 线程死锁检测方法
- 联合体了解
- lintcode -- 最长公共子串
- SSIS项目基础实战操作手册_v1.0(傻瓜版)(三)
- java实现动态规划求解给定矩阵的和最大的子数组(矩阵中数字正负均存在)
- 日期转毫秒数
- 虚拟化VMware vsphere
- Notepad++ 使用二进制或16进制模式查看文件
- 2017 Multi-University Training Contest
- Mac下MAMP Pro 启动数据库MySQL出错导致无法启动的问题
- Photon Server的使用(一)
- 闭包,匿名函数
- Jquery 获取 radio选中值