lintcode:Continuous Subarray Sum
2015-06-25 20:30
260 查看
Given an integer array, find a continuous subarray where the sum of numbers is the biggest. Your code should return the index of the first number and the index of the last number. (If their are duplicate answer, return anyone)
Have you met this question in a real interview?
Yes
Example
Give
return
Tags Expand
Related Problems Expand
Have you met this question in a real interview?
Yes
Example
Give
[-3, 1, 3, -3, 4],
return
[1,4].
Tags Expand
Related Problems Expand
class Solution { public: /** * @param A an integer array * @return A list of integers includes the index of * the first number and the index of the last number */ vector<int> continuousSubarraySum(vector<int>& A) { // Write your code here vector<int> res; if (A.size() == 0) return res; int curLeft = 0; int maxLeft = curLeft; int maxRight = 0; int curSum = 0; int maxSum = INT_MIN; for (int i=0; i<A.size(); i++) { curSum += A[i]; if (curSum > maxSum) { maxLeft = curLeft; maxRight = i; maxSum = curSum; } if (curSum < 0) { if (i+1 <= A.size()-1) { curSum = 0; curLeft = i+1; } } } res.push_back(maxLeft); res.push_back(maxRight); return res; } };
相关文章推荐
- SpringMVC将数据返回到页面
- ixgbe 82599 固定源与目标, UDP, 64字节小包, 1488w pps 单核CPU软中断sirq 100%
- shuffle和排序
- 为HT公司搭建一台 web 服务器
- 微软100题第46题:四对括号可以有多少种匹配排列方式?
- 青蛙跳井的故事
- 剑指offer 41 - 和为s的两个数字VS为s的连续正数序列
- Android项目目录结构分析
- linux核心技术免费学习视频
- 回调函数 作业1
- Beijing Bus
- Maven入门(一)
- 有道词典
- 练习使用Trim()函数规范名字输入
- Codeforces Round #309 (Div. 2) C
- adb操作sqlite3数据库
- [MySQL] lock知识梳理
- activite入门搭建环境(1)
- ReactJS学习笔记六:感想 - 为什么说Virtual DOM 是React的精髓所在
- 机器学习实战——第八章:用回归预测数值型数据