最大和子串
来源:互联网 发布:手机淘宝怎么看好友 编辑:程序博客网 时间:2024/05/19 17:04
题目:给定一个int数组,求出该数组的最大子串的和
如int数组[−2,1,−3,4,−1,2,1,−5,4]
,最大子串为[4,−1,2,1]
,最大和为6
思路:
1、动态规划,遍历数组,设置3个变量,max_sum当前最大和,curr_sum当前和,一旦curr_sum<0,即放弃之前的子串,重新开始计算,curr_sum每加一次就比较下当前最大,直到遍历结束
public class Solution { public int maxSubArray(int[] A) { if (A.length==0) return 0; if (A.length==1) return A[0]; int count = 0; int max = Integer.MIN_VALUE; for (int i=0;i<A.length;i++){ if (A[i]<0) count++; if (A[i]>max) max = A[i]; } if (count==A.length) return max; int sum = Integer.MIN_VALUE,curr_sum = 0; for (int i=0;i<A.length;i++){ if ((curr_sum += A[i])<0){ curr_sum = 0; } sum = curr_sum>sum?curr_sum:sum; } return sum; }}
0 0
- 最大子串和
- 最大和子串
- 子串最大和
- 最大子串和
- 最大子串和
- 最大和子串
- 最大子串和
- 最大子串和
- 最大子串和
- 最大子串和
- 最大子串和
- 最大子串和
- 最大子串和
- 最大子串和
- 最大子串和
- 最大子串和
- 最大子串和
- 最大连续子串和
- 谈谈log4net的使用
- 从最大似然到EM算法浅解
- 使用相对路径读取文件
- 5段SQL可以测试出你对SQL性能优化知识了解多少
- JavaBean的详细及引用
- 最大和子串
- E. Breaking Good
- UpdateData、Invalidate、InvalidateRect和UpdateWindow及RedrawWindow
- 仿IOS透明通知栏(仅支持4.4以上版本)
- OpenStack之Nova分析——创建虚拟机(四)
- android Intent PendingIntent的区别
- jquery取值赋值
- Xcode6制作静态库(.framework)
- java.util.Date和 String之间的转换