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

LeetCode-53-最大子数组和-贪心算法

贪心算法理论基础:
局部最优推全局最优
贪心无套路~
没有什么规律~
重点:每个阶段的局部最优是什么?

题目描述:
给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。
子数组 是数组中的一个连续部分。

在这里插入图片描述

解题思路:贪心算法,详细思路在注释中有~

代码实现:

class Solution {/*** 解题思路:贪心算法:当 加上一个数发现比当前连续和(sum)要小的时候直接舍掉,就从下一个正数重新开始计算* 注意:连续和是负数的时候丢弃,而不是遇到负数就丢弃* 暴力法:时间复杂度 O(n^2)* 贪心算法:时间复杂度 O(n)*/public int maxSubArray(int[] nums) {int len = nums.length;int sum = 0;// 连续和int maxSubSum = Integer.MIN_VALUE;// 最大连续和for (int i = 0; i < len; i++) {sum += nums[i];if (sum > maxSubSum){maxSubSum = sum;}if (sum < 0){sum = 0;// 更新 sum=0}}return maxSubSum;}
}
http://www.lryc.cn/news/151312.html

相关文章:

  • 解决gitee仓库中 .git 文件夹过大的问题
  • uniapp 开发小程序,封装一个方法,让图片使用线上地址
  • Android 12 源码分析 —— 应用层 三(SystemUIFactory及其Dependency解析)
  • 考前冲刺上岸浙工商MBA的备考经验分享
  • XmlDocument.SelectNodes 不起作用
  • 部署单点elasticsearch
  • ElementUI浅尝辄止16:Tag 标签
  • Java虚拟机(JVM)框架
  • 配置Publisher 的编译规则
  • 【SpringBoot】接口实现:SpringBoot实现博客系统的文章列表页接口代码
  • 如何使用SQL系列 之 如何在SQL中插入数据
  • 【LeetCode题目详解】1281题 整数的各位积和之差 面试题 01.01. 判定字符是否唯一 python题解(作业一二)
  • 1.12 进程注入ShellCode套接字
  • MySQL 日志系统
  • LeetCode刷题---Two Sum(一)
  • 算法通关村第十七关——插入区间
  • Jenkins java8安装版本安装
  • 线上问诊:数仓开发(二)
  • Ansible自动化运维工具(三)
  • ChatGPT在创新和创业中的应用如何?
  • Log4j2 配置日志记录发送到 kafka 中
  • Linux用户与组管理(03)(八)
  • Java自定义异常
  • vscode远程调试php
  • C语言:截断+整型提升练习
  • Kubernetes技术--k8s核心技术kubectl命令行工具
  • Element浅尝辄止9:Popover 弹出框组件
  • 程序开发:构建功能强大的应用的艺术
  • (七)k8s实战-高级调度
  • HTTP/1.1协议中的八种请求