当前位置: 首页 > news >正文

LeetCode -- Maximum Subarray

题目描述:
Find the contiguous subarray within an array (containing at least one number) which has the largest sum.


For example, given the array [−2,1,−3,4,−1,2,1,−5,4],
the contiguous subarray [4,−1,2,1] has the largest sum = 6.


在数组nums[]中找到连续子序列构成的最大和。


思路:
一道典型的DP题。
1.使用dp[i]来表示i位置所能达到的最大和
2.如果dp[i-1]+nums[i]大于nums[i],则dp[i] = dp[i-1]+nums[i];否则,dp[i] = nums[i]。


实现代码:


public class Solution {
    public int MaxSubArray(int[] nums) 
    {
        if(nums.Length == 0){
    		return 0;
    	}
    	
    	var dp = new int[nums.Length];
    	
    	dp[0] = nums[0];
    	for(var i = 1;i < nums.Length; i++){
    		if(dp[i-1] + nums[i] > nums[i]){
    			dp[i] = dp[i-1] + nums[i];
    		}
    		else{
    			dp[i] = nums[i];
    		}
    	}
    	
    	return dp.Max();
    }
}


相关文章:

  • ArcGIS Server Java ADF 案例教程 25
  • LeetCode -- Minimum Depth of Binary Tree
  • ArcGIS Server Java ADF 案例教程 26
  • LeetCode -- Minimum Path Sum
  • LeetCode -- Multiply Strings
  • ArcGIS Server Java ADF 案例教程 27
  • LeetCode -- Permutations II
  • SQL语句性能调整之ORACLE的执行计划
  • LeetCode -- Product of Array Except Self
  • 不知道为什么我的一oracle的sql调优文章笔记无法发表,提示“文章中出现禁止的词语,系统不予接受。”...
  • LeetCode -- Remove Duplicates From Sorted Array 2
  • 好人陈虻
  • LeetCode -- Reverse Bits
  • LeetCode -- Rotate Array
  • SQL2005CLR函数扩展-天气服务
  • 【编码】-360实习笔试编程题(二)-2016.03.29
  • Angular4 模板式表单用法以及验证
  • canvas实际项目操作,包含:线条,圆形,扇形,图片绘制,图片圆角遮罩,矩形,弧形文字...
  • go append函数以及写入
  • leetcode378. Kth Smallest Element in a Sorted Matrix
  • leetcode388. Longest Absolute File Path
  • October CMS - 快速入门 9 Images And Galleries
  • oschina
  • 初识 beanstalkd
  • 第三十一到第三十三天:我是精明的小卖家(一)
  • 浅谈JavaScript的面向对象和它的封装、继承、多态
  • 区块链分支循环
  • 因为阿里,他们成了“杭漂”
  • Java性能优化之JVM GC(垃圾回收机制)
  • # 20155222 2016-2017-2 《Java程序设计》第5周学习总结
  • #我与Java虚拟机的故事#连载10: 如何在阿里、腾讯、百度、及字节跳动等公司面试中脱颖而出...
  • (Java岗)秋招打卡!一本学历拿下美团、阿里、快手、米哈游offer
  • (超简单)使用vuepress搭建自己的博客并部署到github pages上
  • (第一天)包装对象、作用域、创建对象
  • (独孤九剑)--文件系统
  • (论文阅读32/100)Flowing convnets for human pose estimation in videos
  • (一)appium-desktop定位元素原理
  • (一)插入排序
  • (转)C#开发微信门户及应用(1)--开始使用微信接口
  • (转)从零实现3D图像引擎:(8)参数化直线与3D平面函数库
  • . ./ bash dash source 这五种执行shell脚本方式 区别
  • .NET Core中的去虚
  • .NET 常见的偏门问题
  • .net 打包工具_pyinstaller打包的exe太大?你需要站在巨人的肩膀上-VC++才是王道
  • .Net程序帮助文档制作
  • .net之微信企业号开发(一) 所使用的环境与工具以及准备工作
  • .net专家(高海东的专栏)
  • @Builder用法
  • @EnableConfigurationProperties注解使用
  • @reference注解_Dubbo配置参考手册之dubbo:reference
  • @软考考生,这份软考高分攻略你须知道
  • [20150629]简单的加密连接.txt
  • [AIGC codze] Kafka 的 rebalance 机制
  • [BZOJ1040][P2607][ZJOI2008]骑士[树形DP+基环树]
  • [bzoj1912]异象石(set)