✅做题思路or感想

一眼暴力,可以用两个for嵌套来找子数组和,但是太费时了

故这里可以用一个for的贪心算法来解决

这里的贪心的策略是:sum + num[i] < num[i],则sum = num[i]

如果原本积累的和 + 当前值 还比不上直接用当前值,那么就重新从当前值开始积累就好了

这里需要注意的是:这种策略遍历完了以后得到的sum并不是题目所求的最大值,所以要用一个result来记录最大值

class Solution {
public:int maxSubArray(vector<int>& nums) {int result = -99999, sum = 0;for (int i = 0; i < nums.size(); i++) {//贪心策略if (sum + nums[i] < nums[i]) {sum = nums[i];}else sum += nums[i];//这里用三目运算符会比用max函数快很多,所以能用三目就用三目了result = result > sum ? result : sum;}return result;}
};

53. 最大子数组和相关推荐

  1. LeetCode 53. 最大子数组和【贪心算法、动态规划】

    53. 最大子数组和 给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和. 子数组 是数组中的一个连续部分. 示例 1: 输入:nums = [- ...

  2. 53. 最大子数组和 392.判断子序列 115.不同的子序列

    53. 最大子数组和 dp[i]: 0-i-1,包含下标i-1的最大和为dp[i] 若dp[i-1]小于0,则和重新从nums[i]开始计算. 最后返回dp[i]最大值即可 392.判断子序列 i为短 ...

  3. 【LeetCode-中等】53. 最大子数组和(详解)

    题目 给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和. 子数组 是数组中的一个连续部分. 方法1:动态规划1 作者:guanpengchn 链 ...

  4. 114. Leetcode 53. 最大子数组和 (动态规划-子序列问题)

    步骤一.确定状态: 确定dp数组及下标含义 dp[i]:包括下标i之前的最大连续子序列和为dp[i]. 步骤二.推断状态方程: dp[i]只有两个方向可以推出来: dp[i - 1] + nums[i ...

  5. 53. 最大子数组和(JavaScript)

    //如果不取之前的数,则初始化当前值为nums[i]//如果取,则为之前的值加上当前值:dp[i-1]+nums[i] var maxSubArray = function(nums) {let le ...

  6. Leetcode-数据结构-53.最大子数组和

    问题 //给一个整数数组 nums , // 请找出一个具有"最大和"的连续子数组(子数组最少包含一个元素), // 返回其最大和. //子数组 是数组中的一个"连续部分 ...

  7. leetcode系列-53.最大子数组和

    题目描述: 给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素), 返回其最大和.子数组 是数组中的一个连续部分. 示例 1: 输入:nums = [-2,1,- ...

  8. 156. Leetcode 53. 最大子数组和 (贪心算法-进阶题目)

    class Solution:def maxSubArray(self, nums: List[int]) -> int:result = -float('inf')count = 0for i ...

  9. 力扣53. 最大子数组和(JavaScript)

    //返回最大和//当前和小于0时,从下一个开始重新累计 var maxSubArray = function(nums) {let sum=0let result=-Infinity //最小值for ...

最新文章

  1. Win7 SP1 msado15 unresolved external symbol
  2. 抛弃windows用linux来工作吧
  3. 为全局变量赋值_Postman全局变量设置和运用
  4. Dart 基礎 - 4
  5. POJ2190 HDU2714 ISBN
  6. java作业_Java作业总结
  7. 如何在sql存储过程中打log_教你如何记录Entity Framework框架自动生成的SQL语句
  8. feign直接走熔断_SpringCloud基于OpenFeign实现服务熔断降级
  9. 数据科学包12-实例1:股票数据分析
  10. angular之service、factory预provider区别
  11. 面试官:说说Java反射机制
  12. 信息论里的信息熵到底是什么含义?互信息的定义
  13. 16个PLC入门基础知识,大学生学PLC就跟玩一样
  14. 聊聊Hadoop DistCp的数据切分处理方式
  15. Redis数据结构-字符串对象(SDS)
  16. java 英文整数数字转成阿拉伯数字 正负百万亿以内
  17. 家庭记账软件(项目一)
  18. Java实现替换Word中文本
  19. sql 语句中count()有条件的时候为什么要加上or null
  20. 森林图怎么分析_图说meta十一:森林图暨RevMan软件使用方法简介

热门文章

  1. 引入:字符串切割strtok()函数
  2. Altium Designer 19.1.18 - 创建一块和 Keep-Out Layer 形状一样的铜皮
  3. sony的故事 第 35 章 【完结】
  4. java做支付宝支付(证书模式)
  5. 自然语言处理的应用,自然语言处理就业前景
  6. English语法_定语从句-关系副词
  7. MySQL服务器参数配置
  8. Hbase之phoenix的介绍与使用
  9. CodeForces 82A Double Cola
  10. 2022年奢侈品行业研究报告