lintcode :最大子数组
2015-10-17 13:28
190 查看
题目:
样例
给出数组
注意
子数组最少包含一个数
挑战
要求时间复杂度为O(n)
解题:
通过率37%,一定是暴力,时间复杂度O(N3)刷出来的成绩。。。
动态规划求解,维基百科,
下面程序半个暴力吧,时间复杂度O(n2)
Java程序:
View Code
总耗时: 1539 ms
最大子数组
给定一个整数数组,找到一个具有最大和的子数组,返回其最大和。样例
给出数组
[−2,2,−3,4,−1,2,1,−5,3],符合要求的子数组为
[4,−1,2,1],其最大和为
6
注意
子数组最少包含一个数
挑战
要求时间复杂度为O(n)
解题:
通过率37%,一定是暴力,时间复杂度O(N3)刷出来的成绩。。。
动态规划求解,维基百科,
下面程序半个暴力吧,时间复杂度O(n2)
Java程序:
public class Solution { /** * @param nums: A list of integers * @return: A integer indicate the sum of max subarray */ public int maxSubArray(ArrayList<Integer> nums) { // write your code int max_ending_here = nums.get(0); int max_so_far = nums.get(0); for( int i =1 ;i<nums.size(); i++) { max_ending_here = Math.max( nums.get(i) , nums.get(i) + max_ending_here ); max_so_far = Math.max( max_so_far, max_ending_here); } return max_so_far; } }
View Code
总耗时: 1539 ms
相关文章推荐
- 【图像处理】数字图像处理软件-图片特效--浮雕效果(四)
- Servlet完全教程
- 解决mysql5.6无法显示和插入中文(mac/linux)
- 输入一串字符,统计其中字母,数字,空格及其他符号的个数
- CYPasswordView 使用说明
- POJ-2128
- shell中使用vi退出的注意事项
- easyui动力头 && 动态加入tabs
- 允许svn服务与WINDOWS自己主动启动
- Python集合(set)类型的操作
- 全加器,加法器
- Android Studio 运行java程序
- UINavigationController 常用代码
- DRBD 网络RAID1
- 命名数据网络(NDN)与TCP/IP网络
- ARM虚拟化调研
- 获得球——采访拼图
- 深入分析面向对象中的对象概念
- Bootstrap 输入组
- iOS扩展Extension详解