求最大子数组(利用动态规划)
来源:互联网 发布:淘宝大促时间表2016 编辑:程序博客网 时间:2024/06/05 09:13
利用动态规划解决求最大子数组(最大子数组,即连续的数组中的某x个数相加和最大,x最小为1)。
算法思想:求整个最大子数组,可以分解为求前n - 1个数的最大子数组和最后一个数。这两个部分比较大小求出最大的。如果前者大,则在同理细化。
算法实现
class Solution { public int maxSubArray(int[] nums) { int n = nums.length; int[] dp = new int[n]; dp[n - 1] = nums[n - 1]; int max = dp[n - 1]; // 分而治之思想 for (int i = n - 2; i >= 0; i--) { dp[i] = nums[i] + (dp[i + 1] > 0 ? dp[i +1] : 0); max = Math.max(max, dp[i]); } return max; } }
阅读全文
0 0
- 求最大子数组(利用动态规划)
- 求最大子数组的和(动态规划法)
- 利用动态规划求连续数组最大和以及最大子矩阵的和
- 【动态规划】求数组最大的子数组连续和
- 动态规划求不相邻的最大子数组和
- 动态规划求不相邻的最大子数组和
- 动态规划:求子数组的最大连续和
- 动态规划求不相邻的最大子数组和
- 动态规划方法求最大子连续数组乘积
- 【动态规划】之求连续子数组的最大和
- 动态规划求最大子数组的和
- 最大子数组之和(动态规划)
- 动态规划 最大子数组
- 动态规划算法 (微软笔试题,求连续子数组的最大和)
- max sum(动态规划求最大连续子序列)
- 动态规划求最大子序列
- 动态规划求最大子段和
- 动态规划求最大子段和
- 发表论文时如何避免选取到假的杂志社
- 后台验证码实现,附代码详解
- 最新版Kali Linux上搭建DVWA
- 关于类型转换(1)
- RecyclerView之ItemDecoration在屏幕中增加下划线的一个小demo
- 求最大子数组(利用动态规划)
- 理解 bashrc 和 profile
- spring配置文件ApplicationContext.xml里面class等没有提示功能
- 如何成长为一名机器学习工程师
- Oracle—rownum用法详解(转)
- Jupyter notebook中Python2和Python3共存
- Angular 指令(Directive)属性型指令
- 每天一个linux命令(26):用SecureCRT来上传和下载文件
- android如何用okhttp进行https的交互