牛客题霸 [子数组的最大累加和问题] C++题解/答案

题目描述

给定一个数组arr,返回子数组的最大累加和
例如,arr = [1, -2, 3, 5, -2, 6, -1],所有子数组中,[3, 5, -2, 6]可以累加出最大的和12,所以返回12.
[要求]
时间复杂度为O(n)O(n),空间复杂度为O(1)O(1)

题解:

我们从前向后推,如果当前值加上前一个值小于当前值,那我们就不加了,如果大于我就加上,这样维护的是每个位置所能累加的最大值,我们在这个过程中用maxx取最大情况

代码:

class Solution {public:/*** max sum of the subarray* @param arr int整型vector the array* @return int整型*/int maxsumofSubarray(vector<int>& arr) {// write code hereint maxx=arr[0];for(int i=1;i<arr.size();i++){arr[i]=max(arr[i],arr[i]+arr[i-1]);maxx=max(arr[i],maxx);}return maxx;}
};

牛客题霸 [子数组的最大累加和问题] C++题解/答案相关推荐

  1. 牛客题霸 [子数组最大乘积] C++题解/答案

    牛客题霸 [子数组最大乘积] C++题解/答案 题目描述 给定一个double类型的数组arr,其中的元素可正可负可0,返回子数组累乘的最大乘积. 题解: 同时记录最大值和最小值,为什么?因为给的元素 ...

  2. 牛客题霸 [数组中未出现的最小正整数] C++题解/答案

    牛客题霸 [数组中未出现的最小正整数] C++题解/答案 题目描述 给定一个无序数组arr,找到数组中未出现的最小正整数 例如arr = [-1, 2, 3, 4].返回1 arr = [1, 2, ...

  3. 牛客题霸 [没有重复项数字的所有排列] C++题解/答案

    牛客题霸 [没有重复项数字的所有排列] C++题解/答案 题目描述 给出一组数字,返回该组数字的所有排列 例如: [1,2,3]的所有排列如下 [1,2,3],[1,3,2],[2,1,3],[2,3 ...

  4. 牛客题霸 [ 有重复项数字的所有排列] C++题解/答案

    牛客题霸 [ 有重复项数字的所有排列] C++题解/答案 题目描述 给出一组可能包含重复项的数字,返回该组数字的所有排列. 题解: 很多人应该都是用的递归方式来做,这里介绍一个stl的next_per ...

  5. 牛客题霸 [有关阶乘的两个问题1] C++题解/答案

    牛客题霸 [有关阶乘的两个问题1] C++题解/答案 题目描述 给定一个非负整数N,返回N!结果的末尾为0的数量 题解: 这个题有技巧 10=2*5,也就是说有一对2和5就会贡献一个0,但是2的数量远 ...

  6. 牛客题霸 [删除有序链表中重复的元素] C++题解/答案

    牛客题霸 [删除有序链表中重复的元素] C++题解/答案 题目描述 删除给出链表中的重复元素(链表中元素从小到大有序),使链表中的所有元素都只出现一次 例如: 给出的链表为1\to1\to21→1→2 ...

  7. 牛客题霸 [数组中出现次数超过一半的数字] C++题解/答案

    牛客题霸 [数组中出现次数超过一半的数字] C++题解/答案 题解: 题意很明确 跑一遍for循环,统计每个数出现的大小 然后再跑一边循环,查看是否存在大于一半的情况 注意题目要求是大于,没有等于 代 ...

  8. 牛客题霸 [链表中倒数第k个结点] C++题解/答案

    链表中倒数第k个结点 题解: 我们把链表存两份,让其中一个先走k个节点,然后两个链表一起走,直到第一个链表到头,因为两个相差k个节点,所以第二个链表停的位置就是倒数第k个 代码: /* struct ...

  9. 牛客题霸 [ 未排序数组中累加和为给定值的最长子数组长度] C++题解/答案

    牛客题霸 [ 未排序数组中累加和为给定值的最长子数组长度] C++题解/答案 题目描述 给定一个无序数组arr, 其中元素可正.可负.可0.给定一个整数k,求arr所有子数组中累加和为k的最长子数组长 ...

最新文章

  1. 用大数据分析顾客会掏钱买你哪件商品
  2. java 多项式拟合最多的项数_机器学习(1)--线性回归和多项式拟合
  3. TCP/IP总结(4)TCP之4次挥手
  4. C++ :sqlite3使用:
  5. 深拷贝的缺点_JavaScript 深拷贝
  6. LeetCode 454. 四数相加 II(哈希)
  7. 《OpenStack云计算实战手册(第2版)》——1.7 添加用户
  8. php的微信登录示例代码,网站微信登录实例代码
  9. 深度学习自学(十七):caffe-sphereface-编译matcaffe遇到的问题
  10. 超级搜索术3-吸收应用/一键直达
  11. Chapter6 : Has Artificial Intelligence Impacted Drug Discovery?
  12. postgresql的下载与安装
  13. 二维码之zxing二维码解析图片资源
  14. 动手实践丨使用华为云IoT边缘体验“边云协同”
  15. kotlin基础教程:<6>map集合
  16. 分解数字和查找其中某些数字
  17. java.lang.ClassNotFoundException: org.springframework.web.servlet.HandlerMapping解决方法
  18. .c 与 .cpp .h与.hpp 的区别
  19. win10主题更换_Win10又双叒叕更新!7个新功能我一眼就爱上了。
  20. [软件人生]士兵突击和亮剑的差别对话

热门文章

  1. 外国人最常说的100个“中国词”出炉,第一个你绝对想不到…
  2. php round 取余,PHP round() 函数
  3. linux默认归档目录,Linux系统管理(第4章:目录和文件管理二)
  4. windows分区给linux根目录,解决双系统安装Linux之后找不到Windows分区
  5. 用python可以处理xml文件怎么打开_Python大神都是这样处理xml文件的!
  6. c语言的使用比例远远高于python语言对吗_Python和C语言的语法有什么不同?
  7. php下载文件代码 数据库,PHP备份数据库生成SQL文件并下载的函数代码
  8. 利用vector实现一对一(pair<int,int>)
  9. 手把手教你剖析vue响应式原理,监听数据不再迷茫
  10. [JavaWeb-JavaScript]JavaScript概念与功能