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

力扣热题100道之最大子数之和

解法

动态规划

遍历数组,当前若干位的和小于当前位的数的时候,丢弃前面的和。因为你都比我小了,我用你为什么不直接用我当前的这个呢。当最大值比新加入了当前位的数后的前若干位的和小的时候,最大值变为加入了最新的数据后的前若干位的和

class Solution {public int maxSubArray(int[] nums) {int n=nums.length;int sum=0;int maxsum=nums[0];for(int num:nums){if(sum+num>num){sum=sum+num;}else{sum=num;}if(sum>maxsum){maxsum=sum;}}return maxsum;}
}
贪心算法

之前和小于0,就丢弃

class Solution {public int maxSubArray(int[] nums) {int n=nums.length;int max=nums[0];int sum=0;for(int num:nums){if(sum<0){sum=num;}else{sum+=num;}if(sum>max){max=sum;}}return max;}
}
历史解法
报错超出时间限制的解法

我的算法是定义一个遍历指针i,i的元素大于0的时候,开始往后,如果到他后面的若干位的和仍然大于零,接着往下走,并且记录其中的最大值,如果出现从i往后若干位的和小于零的情况,开始从i++。走到超出时间限制这个程度,说明我的算法跑通了。只是他本身不太行。

看了官方题解之后,我发现,我的算法是不完善的贪心算法,我的算法,如果用贪心算法一定不会报这个错误的。

class Solution {public int maxSubArray(int[] nums) {int n=nums.length;int smax=nums[0];for(int i=0;i<n;i++){if(nums[i]<=0){if(nums[i]>smax){smax=nums[i];}}else{int j=i;int tsum=nums[j];int tmsum=nums[j];j++;while(j<n&&tsum>0||i==j-1&&j==n){if(j==n){tsum=nums[j-1];}else{tsum=tsum+nums[j];}if(tmsum<=tsum){tmsum=tsum;}j++;if(smax<tmsum){smax=tmsum;}}}}return smax;}
}

http://www.dtcms.com/a/503770.html

相关文章:

  • 手机网站开发c 教程一嗨租车网站建设的功能特色
  • 购物网站 app网站建设时应该做的优化
  • 深圳网站建设raygf2022年免费ppt模板下载
  • 【Python】二.判断语句
  • 【数据集】最新全国景区A-5A级景区数据集(更新至2025年)-含矢量及Excel详细
  • Linux线程 --- 线程控制、pthread线程库、线程栈、线程本地存储
  • C++:从0开始学习链表(练习)
  • JAVA的Set集合类
  • linux系统中进程控制
  • 网站域名注册证书是什么视频拍摄设备
  • 下载 LibreCAD 并创建个人分支的 Git 操作指南
  • 石家庄大型网站建站网站开发能从事那些职业
  • JavaScript性能优化实战大纲性能优化的核心目标
  • 【Android】布局优化:include、merge、ViewStub的使用及注意事项
  • PHP 桌面端框架NativePHP for Desktop v2 发布!
  • 第7章 muduo编程示例(2)
  • 哪里有放网站的免费空间无锡市政务服务网站建设项目
  • 为什么Unity修改过物体,物体的位移和旋转还是会被改变
  • Dify 平台从 x86_64 迁移至 ARM64 架构完整指南
  • 站嗨建站适合小白的室内设计软件
  • 基于车速预测的燃料电池混合动力汽车能量管理策略:一种自适应ECMS方法及其Python实现
  • [嵌入式系统-149]:新能源汽车的三电系统以及其功能、硬件架构、嵌入式操作系统
  • 在iStoreOS系统中安装Docker:从基础到高级应用的完整指南
  • 建设银行 网站查询密码杭州清风室内设计学校
  • 专业的个人网站建设商务网站建设与维护 ppt
  • 《Python红队攻防零基础脚本编写:入门篇(二)》
  • 装修设计网站免费婚庆网站建设策划案费用预算
  • 限制GIT提交大文件
  • STM32F103C8T6_IIC协议详解
  • 几个好用的在线网站南京网络营销