【PYTHON】力扣刷题笔记 -- 0053. 最大子数组和【中等】
- 题目描述:给你一个整数数组 array:
nums,请你找出一个具有最大和的连续子数组 sub-array,返回其最大和- 子数组(最少包含一个元素): 是数组中的一个连续部分
-
示例 1:
输入:nums = [-2,1,-3,4,-1,2,1,-5,4]
输出:6 -
示例 2:
输入:nums = [1]
输出:1 -
示例 3:
输入:nums = [5,4,-1,7,8]
输出:23
- 题解:采用动态规划进行求解,以下为动态规划详细步骤分析
- 确定 dp 数组含义:
dp[i]表示包括下标 i(以nums[i]为结尾)的最⼤连续⼦序列和- 注意❌不能表示
nums[: i+1]的最⼤连续⼦序列和 (不一定包括下标i) ! 否则无法递推!
- 注意❌不能表示
- 确定递推公式:取 断/不断 的最大值
max(nums[i], dp[i-1] + nums[i])- 如果从
nums[i]前断开:则包括下标 i 的最⼤连续⼦序列和为nums[i] - 如果不从
nums[i]断开:则包括下标 i 的最⼤连续⼦序列和为dp[i-1] + nums[i]
- 如果从
- 确定遍历顺序和初始化:从前向后,初始化
dp[0] = nums[0]- 从递推公式可以看出
dp[i]由前序元素dp[i-1]推出,根本是dp[0] - 根据
dp 数组含义,dp[0]表示包括下标 0 的最⼤连续⼦序列和,即只包含nums[0],所以dp[0] = nums[0]
- 从递推公式可以看出
- 确定 dp 数组含义:
- 完整对应代码:
class Solution:def maxSubArray(self, nums: List[int]) -> int:dp = [0 for _ in range(len(nums))] ## dp[i] 表示包括下标 i 的最⼤连续⼦序列和dp[0] = nums[0] ## 初始化:dp[0] = nums[0]for i in range(1, len(nums)):dp[i] = max(nums[i], dp[i-1]+nums[i]) ## 递推公式return max(dp)
相关文章:
【PYTHON】力扣刷题笔记 -- 0053. 最大子数组和【中等】
题目描述:给你一个整数数组 array: nums ,请你找出一个具有最大和的连续子数组 sub-array,返回其最大和 子数组(最少包含一个元素): 是数组中的一个连续部分 示例 1: 输入:nums [-2,1,-3,4,-1…...
Linux启动elasticsearch,提示权限不够
Linux启动elasticsearch,提示权限不够,如下图所示: 解决办法: 设置文件所有者,即使用户由权限访问文件 sudo chown -R 用户名[:新组] ./elasticsearch-8.10.4 //切换到elasticsearch-8.10.4目录同级 chown详细格式…...
css 布局出现无法去除的空白
案件介绍:在没有设置任何的css样式的情况下 文字顶部出现无法去除的空白 源代码 <div click"onClick" ><div class"tableTextButton--container"></div><Icon v-if"loading || thisLoading" type"ios-lo…...
使用SpringBoot整合filter
SpringBoot整合filter,和整合servlet类似,也有两种玩儿法 1、创建一个SpringBoot工程,在工程中创建一个filter过滤器,然后用注解WebFilter配置拦截的映射 2、启动类还是使用ServletComponentScan注解来扫描拦截器注解WebFilter 另…...
Python酷库之旅-第三方库openpyxl(15)
目录 一、 openpyxl库的由来 1、背景 2、起源 3、发展 4、特点 4-1、支持.xlsx格式 4-2、读写Excel文件 4-3、操作单元格 4-4、创建和修改工作表 4-5、样式设置 4-6、图表和公式 4-7、支持数字和日期格式 二、openpyxl库的优缺点 1、优点 1-1、支持现代Excel格式…...
葡萄串目标检测YoloV8——从Pytorch模型训练到C++部署
文章目录 软硬件准备数据准备数据处理脚本模型训练模型部署数据分享软硬件准备 训练端 PytorchultralyticsNvidia 3080Ti部署端 fastdeployonnxruntime数据准备 用labelimg进行数据标注 数据处理脚本 xml2yolo import os import glob import xml.etree.ElementTree as ETxm…...
OpenAI推出自我改进AI- CriticGPT
每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…...
springboot系列七: Lombok注解,Spring Initializr,yaml语法
老韩学生 LombokLombok介绍Lombok常用注解Lombok应用实例代码实现idea安装lombok插件 Spring InitializrSpring Initializr介绍Spring Initializr使用演示需求说明方式1: IDEA创建方式2: start.spring.io创建 注意事项和说明 yaml语法yaml介绍使用文档yaml基本语法数据类型字面…...
专访ATFX首席战略官Drew Niv:以科技创新引领企业高速发展
在金融科技创新的浪潮中,人才是推动企业高速发展的核心驱动力,优质服务是引领企业急速前行的灯塔。作为差价合约领域的知名品牌,ATFX高度重视人才引进工作,秉持“聚天下英才而用之”的理念,在全球范围内广揽科技精英&a…...
关于FPGA对 DDR4 (MT40A256M16)的读写控制 4
关于FPGA对 DDR4 (MT40A256M16)的读写控制 4 语言 :Verilg HDL 、VHDL EDA工具:ISE、Vivado、Quartus II 关于FPGA对 DDR4 (MT40A256M16)的读写控制 4一、引言二、DDR4 SDRAM设备中模式寄存器重要的模式寄存…...
android——Livedata、StateFlow、ShareFlow和Channel的介绍和使用
目录 一、LiveData介绍 二、StateFlow介绍 三、ShareFlow介绍 四、Channel介绍 小结 一、LiveData介绍 LiveData是一种在Android开发中用于观察数据变化的组件。它可以被观察者注册并在数据变化时通知观察者,从而实现数据的实时更新。LiveData具有生命周期感知能力&…...
Debezium 同步 MySQL 实时数据并解决数据重复消费问题
我们使用 Debezium 实时同步一个 MySQL 的数据到另一个 MySQL,代码网上基本都有,都是在引入 debezium-api,debezium-embedded 后写 Java 代码,做好了基本配置后启动程序,Debezium 会自动读取 MySQL 的实时 binlog&…...
【图像处理】1、使用OpenCV库图像轮廓的检测和绘制
OpenCV (Open Source Computer Vision Library) 是一个用于计算机视觉和图像处理的开源库。它提供了数百种用于图像和视频分析的算法,并被广泛应用于研究和商业领域。OpenCV 支持多种编程语言,包括 C、Python、Java 等,具有跨平台的特性&…...
【AI编译器】triton学习:矩阵乘优化
Matrix Multiplication 主要内容: 块级矩阵乘法 多维指针算术 重新编排程序以提升L2缓存命 自动性能调整 Motivations 矩阵乘法是当今高性能计算系统的一个关键组件,在大多数情况下被用于构建硬件。由于该操作特别复杂,因此通常由软件提…...
动静分离网络
动静分离网络的主要目的是分别处理视频帧中的静止区域和运动区域,以便对不同区域采用不同的去噪策略。这里提供一个实现思路,通过两个分支网络分别处理静止区域和运动区域,然后将两者的输出融合起来。 实现步骤 帧差图生成:计算…...
Python商务数据分析知识专栏(三)——Python数据分析的应用①Matplotlib数据可视化基础
Python商务数据分析知识专栏(三)——Python数据分析的应用①Matplotlib数据可视化基础 Matplotlib数据可视化基础1.掌握绘图基本语法与常用绘图2.分析特征间关系3.分析特征内部数据分布与分散情况 Matplotlib数据可视化基础 1.掌握绘图基本语法与常用绘…...
DataV大屏组件库
DataV官方文档 DataV组件库基于Vue (React版 (opens new window)) ,主要用于构建大屏(全屏)数据展示页面即数据可视化,具有多种类型组件可供使用: 源码下载...
paraview跨节点并行渲染
参考: https://cloud.tencent.com/developer/ask/sof/101483588 ParaView 支持使用其内置的网络拓扑来进行跨节点的并行渲染。以下是一个简单的步骤来设置和运行跨节点的并行渲染: 确保你的计算环境支持多节点计算,比如通过SSH、MPI或其他集…...
Java中相等比较详解
本文对Java中的相等判断进行详细解释,包括,equals和compareTo等。 一、 运算符 1. 用途 基本数据类型:用于比较两个基本数据类型的值是否相等。 引用类型:用于比较两个对象引用是否指向同一个对象。 2. 示例 // 基本数据类型比…...
HBuilder X 小白日记01
1.创建项目 2.右击项目,可创建html文件 3.保存CtrlS,运行一下 我们写的内容,一般是写在body里面 注释的快捷键:Ctrl/ h标签 <h1> 定义重要等级最高的(最大)的标题。<h6> 定义最小的标题。 H标签起侧重、强调的作用…...
1688商品列表API与其他数据源的对接思路
将1688商品列表API与其他数据源对接时,需结合业务场景设计数据流转链路,重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点: 一、核心对接场景与目标 商品数据同步 场景:将1688商品信息…...
Leetcode 3577. Count the Number of Computer Unlocking Permutations
Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接:3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯,要想要能够将所有的电脑解锁&#x…...
HTML前端开发:JavaScript 常用事件详解
作为前端开发的核心,JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例: 1. onclick - 点击事件 当元素被单击时触发(左键点击) button.onclick function() {alert("按钮被点击了!&…...
Unit 1 深度强化学习简介
Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库,例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体,比如 SnowballFight、Huggy the Do…...
【JavaSE】绘图与事件入门学习笔记
-Java绘图坐标体系 坐标体系-介绍 坐标原点位于左上角,以像素为单位。 在Java坐标系中,第一个是x坐标,表示当前位置为水平方向,距离坐标原点x个像素;第二个是y坐标,表示当前位置为垂直方向,距离坐标原点y个像素。 坐标体系-像素 …...
select、poll、epoll 与 Reactor 模式
在高并发网络编程领域,高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表,以及基于它们实现的 Reactor 模式,为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。 一、I…...
【碎碎念】宝可梦 Mesh GO : 基于MESH网络的口袋妖怪 宝可梦GO游戏自组网系统
目录 游戏说明《宝可梦 Mesh GO》 —— 局域宝可梦探索Pokmon GO 类游戏核心理念应用场景Mesh 特性 宝可梦玩法融合设计游戏构想要素1. 地图探索(基于物理空间 广播范围)2. 野生宝可梦生成与广播3. 对战系统4. 道具与通信5. 延伸玩法 安全性设计 技术选…...
安卓基础(aar)
重新设置java21的环境,临时设置 $env:JAVA_HOME "D:\Android Studio\jbr" 查看当前环境变量 JAVA_HOME 的值 echo $env:JAVA_HOME 构建ARR文件 ./gradlew :private-lib:assembleRelease 目录是这样的: MyApp/ ├── app/ …...
Golang——9、反射和文件操作
反射和文件操作 1、反射1.1、reflect.TypeOf()获取任意值的类型对象1.2、reflect.ValueOf()1.3、结构体反射 2、文件操作2.1、os.Open()打开文件2.2、方式一:使用Read()读取文件2.3、方式二:bufio读取文件2.4、方式三:os.ReadFile读取2.5、写…...
MySQL 索引底层结构揭秘:B-Tree 与 B+Tree 的区别与应用
文章目录 一、背景知识:什么是 B-Tree 和 BTree? B-Tree(平衡多路查找树) BTree(B-Tree 的变种) 二、结构对比:一张图看懂 三、为什么 MySQL InnoDB 选择 BTree? 1. 范围查询更快 2…...
