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

LeetCode热题 100整理

53. 最大子数组和

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

示例 1:

输入:nums = [-2,1,-3,4,-1,2,1,-5,4]
输出:6
解释:连续子数组 [4,-1,2,1] 的和最大,为 6 。

示例 2:

输入:nums = [1]
输出:1

 示例 3:

输入:nums = [5,4,-1,7,8]
输出:23

提示: 

  • 1 <= nums.length <= 105
  • -104 <= nums[i] <= 104

 题目分析:

思考1:从第一个数开始累加,找到累加最大的数和最小的数,然后用最大的减去最小的。其中最大的数要在最小的数右边。结果失败,忽略了一个数字的时候以及整个数列都是负数时,会运行错误。

代码如下:

class Solution {
public:int maxSubArray(vector<int>& nums) {int len = nums.size();int sum = 0;int a[100002];a[0] = 0;int max = a[0];int min = a[0];if (len <= 1) {return nums[0];}else{for (int i = 0; i < len; i++) {sum += nums[i];a[i + 1] = sum;}int maxi;for (int i = 0; i < len + 1; i++) {if (a[i] >= max) {max = a[i];maxi = i;}}for (int j = 0; j < maxi; j++) {if (a[j] <= min) {min = a[j];}}int res = max - min;return res;}}
};

思考2:通过动态规划的思想,依旧是从前往后加,但是如果前一个是负数,就不要累加,重新加当前的值。最后找最大的累加值即可。

代码如下:

class Solution {
public:int maxSubArray(vector<int>& nums) {int n = nums.size();int maxnum = nums[0];for (int i = 1; i < n; i++) {if (nums[i - 1] > 0) {nums[i] += nums[i - 1];}maxnum = max(maxnum, nums[i]);}return maxnum;}};

118. 杨辉三角

给定一个非负整数 numRows生成「杨辉三角」的前 numRows 行。在「杨辉三角」中,每个数是它左上方和右上方的数的和。

示例 1:

输入: numRows = 5
输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]

示例 2:

输入: numRows = 1
输出: [[1]]

提示:

  • 1 <= numRows <= 30

 

代码如下:

class Solution {
public:vector<vector<int>> generate(int numRows) {vector<vector<int>> a(numRows);// a[0][0]=1;// a[1][0]=1;// a[1][1]=1;for (int i = 0; i < numRows; i++) {a[i].resize(i + 1);for (int j = 0; j <= i; j++) {if (i == 0 || i == 1 || j == 0 || j == i) {a[i][j] = 1;}else{a[i][j] = a[i - 1][j] + a[i - 1][j - 1];}}}return a;}
};

相关文章:

LeetCode热题 100整理

53. 最大子数组和 给你一个整数数组 nums &#xff0c;请你找出一个具有最大和的连续子数组&#xff08;子数组最少包含一个元素&#xff09;&#xff0c;返回其最大和。子数组是数组中的一个连续部分。 示例 1&#xff1a; 输入&#xff1a;nums [-2,1,-3,4,-1,2,1,-5,4] 输…...

SDE与ODE

看这篇文章不错https://spaces.ac.cn/archives/9209 然后在结合https://www.bilibili.com/video/BV1814y1n7Eh/?spm_id_from333.788&vd_sourceeb433c8780bdd700f49c6fc8e3bd0911这个B站的视频...

AWK实战案例——筛选给定时间范围内的日志

时间戳与当地时间 概念&#xff1a; 1.时间戳&#xff1a; 时间戳是指格林威治时间自1970年1月1日&#xff08;00:00:00 GMT&#xff09;至当前时间的总秒数。它也被称为Unix时间戳&#xff08;Unix Timestamp&#xff09;。通俗的讲&#xff0c;时间戳是一份能够表示一份数据…...

摄影入门基础笔记

1.认识相机&#xff0c;传感器和镜头 微单相机和单反相机 运动相机、卡片机 微单和单反的区别&#xff1f; 微单的光学结构少了反光板的结构以及棱镜的结构 DSLR [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PCSYr2Ob-1691407493645)(https:/…...

如何在业务中体现TCC事务模型?

在分布式系统设计中&#xff0c;随着微服务的流行&#xff0c;通常一个业务操作被拆分为多个子任务&#xff0c;比如电商系统的下单和支付操作&#xff0c;就涉及到了创建和更新订单、扣减账户余额、扣减库存、发送物流消息等&#xff0c;那么在复杂业务开发中&#xff0c;如何…...

TouchGFX字库外置的另一种处理方式

最近有个带UI的项目&#xff0c;采用STM32F429做主控方案&#xff0c;对比touchgfx、lvgl和emwin&#xff0c;发现TouchGFX性能最好&#xff0c;并且界面设计工具也很好用&#xff0c;于是选择此图形引擎。 最开始是熟悉UI设计工具&#xff0c;需要一个表格控件&#xff0c;无…...

jvm的垃圾回收算法有哪些

jvm的垃圾回收算法有标记-清除、复制、标记-整理、分代回收算法&#xff0c;它们分别有不同的实现&#xff1a; 一、标记-清除算法 利用可达性分析算法分析之后&#xff0c;将未被标记的对象[即不可达对象]清除&#xff0c;以便回收它们所占用的内存。 缺点&#xff1a; 1、需…...

untiy 连接两个UI或一段固定一段跟随鼠标移动的线段

注意&#xff0c;仅适用于UI&#xff0c;且Canvas必须是Camera模式&#xff0c;不能用在3D物体上&#xff0c;3D物体请使用LineRenender 先创建一个图片&#xff0c;将锚点固定在左边 然后在脚本中添加如下内容 public RectTransform startObj;//起点物体public RectTransfor…...

如何成为顶级开源项目的贡献者

概述 对于程序员来讲&#xff0c;成为顶级开源项目的贡献者是一件有意义的事&#xff0c;当然&#xff0c;这也绝非易事。如果你正从事人工智能有关的工作&#xff0c;那么你一定了解诸如Google Tensorflow&#xff0c;Facebook Pytorch这样的开源项目。下面我们就说一说如何成…...

Threads and QObjects

QThread inherits QObject. It emits signals to indicate that the thread started or finished executing, and provides a few slots as well. QThread 派生于 QObject。QThread 会发射信号通知线程启动或终止执行任务&#xff0c;并且也会提供槽函数使用。 More interest…...

Tcp是怎样进行可靠准确的传输数据包的?

概述 很多时候&#xff0c;我们都在说Tcp协议&#xff0c;Tcp协议解决了什么问题&#xff0c;在实际工作中有什么具体的意义&#xff0c;想到了这些我想你的技术会更有所提升&#xff0c;Tcp协议是程序员编程中的最重要的一块基石&#xff0c;Tcp是怎样进行可靠准确的传输数据…...

[SWPUCTF 2022 新生赛]numgame

这道题有点东西网页一段计算框&#xff0c;只有加和减数字&#xff0c;但是永远到大不了20&#xff0c;页面也没啥特别的&#xff0c;准备看源码&#xff0c;但是打不开&#xff0c;我以为是环境坏掉了&#xff0c;看wp别人也这样&#xff0c;只不过大佬的开发者工具可以打开&a…...

java异常机制分析

java异常机制分析 本文实例分析了java的异常机制&#xff0c;分享给大家供大家参考。相信有助于大家提高大家Java程序异常处理能力。具体分析如下&#xff1a; 众所周知&#xff0c;java中的异常(Exception)机制很重要&#xff0c;程序难免会出错&#xff0c;异常机制可以捕获…...

浅谈Python中的内存管理 程序的内存布局

Python中的内存管理 Python 的内存管理是通过私有堆空间来实现的。这个私有堆内存中存储了所有 Python 对象和数据结构。Python 的解释器自身则拥有对堆空间的访问权&#xff0c;程序员不能直接访问这个私有堆&#xff0c;但可以通过解释器的 API 来进行某些操作。 以下是 Py…...

(具体解决方案)训练GAN深度学习的时候出现生成器loss一直上升但判别器loss趋于0

今天小陶在训练CGAN的时候出现了绷不住的情况&#xff0c;那就是G_loss&#xff08;生成器的loss值&#xff09;一路狂飙&#xff0c;一直上升到了6才逐渐平稳。而D_loss&#xff08;判别器的loss值&#xff09;却越来越小&#xff0c;具体的情况就看下面的图片吧。其实这在GAN…...

Redis 安装以及配置隧道连接

目录 1.CentOS 1. 安装Redis 2. Redis 启动和停⽌ 3. 操作Redis 2.Ubuntu 1. 安装Redis 2. Redis 启动/停⽌ 3. 操作 Redis 3.开启隧道 3.1 Xshell 配置隧道 3.2 windTerm 配置隧道 3.3 FinalShell配置隧道 4.可视化客户端连接 Another Redis Desktop Manager 1.Cen…...

FFmpeg 使用总结

FFmpeg 简介 FFmpeg的名称来自MPEG视频编码标准&#xff0c;前面的“FF”代表“Fast Forward”&#xff0c;FFmpeg是一套可以用来记录、转换数字音频、视频&#xff0c;并能将其转化为流的开源计算机程序。可以轻易地实现多种视频格式之间的相互转换。包括如下几个部分&#xf…...

出现Error: Cannot find module ‘compression-webpack-plugin‘错误

错误&#xff1a; 解决&#xff1a;npm install --save-dev compression-webpack-plugin1.1.12 版本问题...

Elasticsearch 摄取管道 — 检测到管道的死循环

在数据处理和摄取领域&#xff0c;管道在组织和自动化数据从源到目的地的流动方面发挥着至关重要的作用。 管道是数据按顺序通过的一系列处理阶段&#xff0c;每个阶段负责特定任务。 然而&#xff0c;有时&#xff0c;管道可能会遇到一个重大挑战&#xff0c;称为 “Cycle det…...

C# ListBox自动滚动方法

1、方法1&#xff1a;添加记录后&#xff0c;选择最后一条记录&#xff0c;让滚动条滚动到底部&#xff0c;再自动取消 listBox1.Items.Add(t ":a good day"); listBox1.SelectedIndex listBox1.Items.Count - 1; listBox1.SelectedIndex -1; //是否取消选中行…...

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...

Docker 离线安装指南

参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性&#xff0c;不同版本的Docker对内核版本有不同要求。例如&#xff0c;Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本&#xff0c;Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...

超短脉冲激光自聚焦效应

前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应&#xff0c;这是一种非线性光学现象&#xff0c;主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场&#xff0c;对材料产生非线性响应&#xff0c;可能…...

React hook之useRef

React useRef 详解 useRef 是 React 提供的一个 Hook&#xff0c;用于在函数组件中创建可变的引用对象。它在 React 开发中有多种重要用途&#xff0c;下面我将全面详细地介绍它的特性和用法。 基本概念 1. 创建 ref const refContainer useRef(initialValue);initialValu…...

家政维修平台实战20:权限设计

目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系&#xff0c;主要是分成几个表&#xff0c;用户表我们是记录用户的基础信息&#xff0c;包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题&#xff0c;不同的角色&#xf…...

【项目实战】通过多模态+LangGraph实现PPT生成助手

PPT自动生成系统 基于LangGraph的PPT自动生成系统&#xff0c;可以将Markdown文档自动转换为PPT演示文稿。 功能特点 Markdown解析&#xff1a;自动解析Markdown文档结构PPT模板分析&#xff1a;分析PPT模板的布局和风格智能布局决策&#xff1a;匹配内容与合适的PPT布局自动…...

Spring Boot+Neo4j知识图谱实战:3步搭建智能关系网络!

一、引言 在数据驱动的背景下&#xff0c;知识图谱凭借其高效的信息组织能力&#xff0c;正逐步成为各行业应用的关键技术。本文聚焦 Spring Boot与Neo4j图数据库的技术结合&#xff0c;探讨知识图谱开发的实现细节&#xff0c;帮助读者掌握该技术栈在实际项目中的落地方法。 …...

Python 包管理器 uv 介绍

Python 包管理器 uv 全面介绍 uv 是由 Astral&#xff08;热门工具 Ruff 的开发者&#xff09;推出的下一代高性能 Python 包管理器和构建工具&#xff0c;用 Rust 编写。它旨在解决传统工具&#xff08;如 pip、virtualenv、pip-tools&#xff09;的性能瓶颈&#xff0c;同时…...

SQL慢可能是触发了ring buffer

简介 最近在进行 postgresql 性能排查的时候,发现 PG 在某一个时间并行执行的 SQL 变得特别慢。最后通过监控监观察到并行发起得时间 buffers_alloc 就急速上升,且低水位伴随在整个慢 SQL,一直是 buferIO 的等待事件,此时也没有其他会话的争抢。SQL 虽然不是高效 SQL ,但…...

深度学习水论文:mamba+图像增强

&#x1f9c0;当前视觉领域对高效长序列建模需求激增&#xff0c;对Mamba图像增强这方向的研究自然也逐渐火热。原因在于其高效长程建模&#xff0c;以及动态计算优势&#xff0c;在图像质量提升和细节恢复方面有难以替代的作用。 &#x1f9c0;因此短时间内&#xff0c;就有不…...