53. 最大子数组和
✅做题思路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. 最大子数组和相关推荐
- LeetCode 53. 最大子数组和【贪心算法、动态规划】
53. 最大子数组和 给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和. 子数组 是数组中的一个连续部分. 示例 1: 输入:nums = [- ...
- 53. 最大子数组和 392.判断子序列 115.不同的子序列
53. 最大子数组和 dp[i]: 0-i-1,包含下标i-1的最大和为dp[i] 若dp[i-1]小于0,则和重新从nums[i]开始计算. 最后返回dp[i]最大值即可 392.判断子序列 i为短 ...
- 【LeetCode-中等】53. 最大子数组和(详解)
题目 给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和. 子数组 是数组中的一个连续部分. 方法1:动态规划1 作者:guanpengchn 链 ...
- 114. Leetcode 53. 最大子数组和 (动态规划-子序列问题)
步骤一.确定状态: 确定dp数组及下标含义 dp[i]:包括下标i之前的最大连续子序列和为dp[i]. 步骤二.推断状态方程: dp[i]只有两个方向可以推出来: dp[i - 1] + nums[i ...
- 53. 最大子数组和(JavaScript)
//如果不取之前的数,则初始化当前值为nums[i]//如果取,则为之前的值加上当前值:dp[i-1]+nums[i] var maxSubArray = function(nums) {let le ...
- Leetcode-数据结构-53.最大子数组和
问题 //给一个整数数组 nums , // 请找出一个具有"最大和"的连续子数组(子数组最少包含一个元素), // 返回其最大和. //子数组 是数组中的一个"连续部分 ...
- leetcode系列-53.最大子数组和
题目描述: 给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素), 返回其最大和.子数组 是数组中的一个连续部分. 示例 1: 输入:nums = [-2,1,- ...
- 156. Leetcode 53. 最大子数组和 (贪心算法-进阶题目)
class Solution:def maxSubArray(self, nums: List[int]) -> int:result = -float('inf')count = 0for i ...
- 力扣53. 最大子数组和(JavaScript)
//返回最大和//当前和小于0时,从下一个开始重新累计 var maxSubArray = function(nums) {let sum=0let result=-Infinity //最小值for ...
最新文章
- Win7 SP1 msado15 unresolved external symbol
- 抛弃windows用linux来工作吧
- 为全局变量赋值_Postman全局变量设置和运用
- Dart 基礎 - 4
- POJ2190 HDU2714 ISBN
- java作业_Java作业总结
- 如何在sql存储过程中打log_教你如何记录Entity Framework框架自动生成的SQL语句
- feign直接走熔断_SpringCloud基于OpenFeign实现服务熔断降级
- 数据科学包12-实例1:股票数据分析
- angular之service、factory预provider区别
- 面试官:说说Java反射机制
- 信息论里的信息熵到底是什么含义?互信息的定义
- 16个PLC入门基础知识,大学生学PLC就跟玩一样
- 聊聊Hadoop DistCp的数据切分处理方式
- Redis数据结构-字符串对象(SDS)
- java 英文整数数字转成阿拉伯数字 正负百万亿以内
- 家庭记账软件(项目一)
- Java实现替换Word中文本
- sql 语句中count()有条件的时候为什么要加上or null
- 森林图怎么分析_图说meta十一:森林图暨RevMan软件使用方法简介