力扣刷题

文章目录

  • 1. 双指针
    • 1.1 两数之和
    • 1.2 三数之和
    • 1.3 盛最多水的容器
    • 1.4 接雨水
  • 2. 字串
    • 2.1 滑动窗口最大值
  • 3. 动态规划
  • 4. 多维动态规划
    • 4.1 最长回文字串

1. 双指针

1.1 两数之和

在这里插入图片描述
在这里插入图片描述

思路:因为是有序数组,在这里插入图片描述

1.2 三数之和

在这里插入图片描述
题目要求不能重复
思路:三数之和可以变为两数之和,固定一个数字,看两数之和,此时target变为target-固定的数字,要先对数组排序,然后依次固定一个数求两数之和。

避免重复解:
重复解有两种情况:

  1. 固定数字的时候 【-1,-1】已经固定过-1,得出了一组解,又有一个-1,得出得还是同一组解,重复-----> 解决:在固定数字的时候,判断前一个是不是和自己一样,一样就跳过(这样做是因为数组已经有序)
  2. 两数之和双指针寻找的时候,【-1,0,0,1,1】 -------> 解决:在双指针移动的时候,当左指针和它前面元素一样时,i++,当右指针和它后面一个元素一样时,j–

1.3 盛最多水的容器

在这里插入图片描述

思路:双指针解决:两个指针分别指向最左和最右,计算容量,因为最左和最右宽度是最大的,每次都是移动较低的那一边,这样宽度减小了但是高度增加了才有可能容量变大,每次移动后计算容量,做max,取大的。

1.4 接雨水

在这里插入图片描述
思路:单调栈解决:将柱子依次入栈,要入栈的柱子小于栈顶柱子高度时,可以入栈,当要入栈的柱子高度大于栈顶柱子的高度时(此时表示形成凹陷,可以接水),此时计算凹陷:将栈顶的这个柱子出栈,该出栈柱子的左边也就是现在的栈顶就是凹陷的左边,入栈的这个柱子就是凹陷的右边,取左右的最小高度,该最小高度减去出栈柱子的高度就是凹陷的高,左右之差就是凹陷的宽,算盛水量。这样依次尝试将所有柱子加入单调栈中,有凹陷就出栈,并计算容量,最后sum,得到总容量。
在这里插入图片描述

2. 字串

2.1 滑动窗口最大值

在这里插入图片描述
思路:单调队列解决(对头就是最大值),遍历数组将每个元素入队,当窗口大小都充满元素时出队。

3. 动态规划

4. 多维动态规划

4.1 最长回文字串

在这里插入图片描述
思路:不用动态规格,用中心开发的思想
两种情况:

  1. 回文子串是奇数(中点有一个字符 aba):依次遍历字符串,并认为该字符是中心,判断中心的前后字符是否一样,一样再判断前面的前面和后面的后面是否一样,并且用两个变量记录回文的left 和 right
  2. 回文字串是偶数(中点两个字符 abba):依次遍历字符串,每次取两个字符并且要相等,再以中心扩展,一样则记录回文的left 和 right

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/728835.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

力扣刷题Days12第二题--100相同的树(js)

目录 1,题目 2,代码 2.1深度优先遍历 2.2广度优先遍历 3,学习与总结 1,题目 给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是…

Java毕业设计 基于SpringBoot vue 疫苗咨询与预约系统

Java毕业设计 基于SpringBoot vue 疫苗咨询与预约系统 SpringBoot vue 疫苗咨询与预约系统 功能介绍 用户前端:首页 图片轮播 疫苗信息 条件查询 疫苗详情 点我收藏 评论 接种疫苗 疫情资讯 资讯详情 资讯评论 论坛交流 发布帖子 公告信息 公告详情 留言反馈 登录…

基于AM62X+FPGA/MCU的B码对时定制化整机解决方案

什么是IRIG-B码对时 IRIG-B(inter-range instrumentationgroup-B)码是一种时间同步标准,通常用于精确的时间测量和数据同步,广泛应用于电力、通信、航空等领域。 IRIG-B码为每秒一帧的时间串码,一帧串码中包含100个码元,频率为1K…

C++ 特殊的类设计

目录 1.请设计一个类,不能被拷贝 2. 请设计一个类,只能在堆上创建对象 3. 请设计一个类,只能在栈上创建对象 4. 请设计一个类,不能被继承 5. 请设计一个类,只能创建一个对象(单例模式) 1.请设计一个类,…

用readproc函数读取进程的状态

概要&#xff1a; 本篇演示用readproc函数读取进程的状态 libprocps库的安装参考笔者的文章readproc.h-CSDN博客 演示所用的系统是Ubuntu22.04 一、代码 #include<stdio.h> #include<stdlib.h> #include<proc/readproc.h> int main() {struct PROCTAB *…

CentOS下安装RabbitMQ

准备工作&#xff0c;更新yum源 正式环境慎用 yum update -y # 进入目录 cd /etc/yum.repos.d/ # 创建目录 mkdir backup # 默认源配备份 mv C* backup/ # 下载阿里云yum源 wget -O /etc/yum.repos.d/CenOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo # 清除旧…

大唐国际务实迎战两会保电,智能巡检机器人助力电力保障

全国两会召开在即。近年来&#xff0c;我国两会期间电力供应稳定性备受关注。作为国家重要的政治盛会&#xff0c;两会的顺利召开需要可靠的电力保障&#xff0c;以确保会议期间各项活动的正常进行。大唐国际作为国内领先的电力企业&#xff0c;面临着如何保障两会期间电力供应…

金融行业专题|基金超融合架构转型与场景探索合集(2023版)

更新内容 更新 SmartX 超融合在基金行业的覆盖范围、部署规模与应用场景。更新信创云资源池、关键业务系统性能优化等场景实践。更多超融合金融核心生产业务场景实践&#xff0c;欢迎下载阅读电子书《金融核心生产业务场景探索文章合集》。 随着数字化经济的蓬勃发展&#xf…

如何使用WinSCP结合Cpolar实现公网远程访问内网Linux服务器

文章目录 1. 简介2. 软件下载安装&#xff1a;3. SSH链接服务器4. WinSCP使用公网TCP地址链接本地服务器5. WinSCP使用固定公网TCP地址访问服务器 1. 简介 ​ Winscp是一个支持SSH(Secure SHell)的可视化SCP(Secure Copy)文件传输软件&#xff0c;它的主要功能是在本地与远程计…

HCIP---IS-IS协议

文章目录 前言一、pandas是什么&#xff1f;二、使用步骤 1.引入库2.读入数据总结 一.IS-IS协议概述 IS-IS是一种基于链路状态的内部网关协议&#xff08;IGP&#xff09;&#xff0c;它使用最短路径优先算法&#xff08;SPF或Dijkstra&#xff09;进行路由计算。这种协议在自治…

buuctf EasyBypass --不会编程的崽

buu后边的题有些确实难&#xff0c;有些其实也没那么复杂。昨天做一道异或绕过的题&#xff0c;现在还没看懂QAQ 先来一题简单的吧。哎&#xff0c;随缘更新吧 <?phphighlight_file(__FILE__);$comm1 $_GET[comm1]; $comm2 $_GET[comm2];if(preg_match("/\|\|\\|\…

Dubbo基础入门二

8、Dubbo协议 服务调用 8.1 服务端 启动过程深入分析 我们查看一下服务启动的过程 ProtocolFilterWrapper.export 好我们进入DubboProtocol.export 创建服务 分析我们的Handler 我们接着返回刚才位置 下面的super方法里面会创建服务&#xff0c;ChannelHandlers.wrap会对hand…

Oracle Essbase 多维库导入文件数据步骤操作

第一步&#xff1a; 先确定导入数据的维度数量&#xff08;清楚自己需要导入什么数据和范围&#xff09; 第二步&#xff1a; 设置加载的规则 1.创建规则 2.编辑规则-》打开数据文件 通过数据文件来确定加载规则的加载格式 先查看数据文件格式&#xff1a; 将数据文件导入&…

【新版Hi3521DV200处理器性能】

新版Hi3521DV200处理器性能 Hi3521DV200是针对多路高清/超高清&#xff08;1080p/4M/5M/4K&#xff09;DVR产品应用开发的新一代专业SoC芯片。Hi3521DV200集成了ARM Cortex-A7四核处理器和性能强大的神经网络推理引擎&#xff0c;支持多种智能算法应用。同时&#xff0c;Hi352…

类和对象 02【C++】

文章目录 一、 构造函数(初始化列表)1. 初始化列表2. explicit 关键字3. static成员 二、 友元1. 友元函数2.友元类 三、 内部函数四、 匿名对象五、 拷贝对象时的一些编译器优化 一、 构造函数(初始化列表) 进一步理解构造函数&#xff0c;我们知道创建对象时&#xff0c;编译…

AI助力剧本创作:如何5分钟内构思出热门短剧大纲

人工智能重塑短剧行业&#xff1a;从剧本创作到市场推广 在当今短剧行业的飞速发展中&#xff0c;剧本创作的质量及其更新的速度已然成为短剧能否转化为热门作品的关键性因素。然而&#xff0c;随着短剧创作成本的日益攀升&#xff0c;一个卓越的剧本无论在创作时间上还是在构思…

【JAVA重要知识 | 第六篇】Java集合类使用总结(List、Set、Map接口及常见实现类)以及常见面试题

文章目录 6.Java集合类使用总结6.1概览6.1.1集合接口类特性6.1.2List接口和Set接口的区别6.1.3简要介绍&#xff08;1&#xff09;List接口&#xff08;2&#xff09;Set接口&#xff08;3&#xff09;Map接口 6.2Collection接口6.3List接口6.3.1ArrayList6.3.2LinkedList—不常…

学生信息管理APP

设计内容简介 本次设计使用Android Studio实现一个学生信息管理系统,系统功能结构如下图所示: 详细设计 数据库设计SQLite,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低。…

143:vue+leaflet 在25833投影坐标下,加载一小块图像叠层数据

第143个 点击查看专栏目录 本示例是介绍如何在vue+leaflet, 自定义CRS,形成新的投影,这里是25833投影,并使用 L.Proj.imageOverlay的方法在地图上加载载一小块图像叠层数据。 直接复制下面的 vue+openlayers源代码,操作2分钟即可运行实现效果. 文章目录 示例效果配置方式…

Python爬虫——Scrapy-1

目录 简介 安装 基本使用 1. 创建爬虫的项目 2. 创建爬虫文件 3. 运行爬虫代码 scrapy项目组成 scrapy工作原理 ​编辑 58同城 scrapy架构组成 汽车之家 总结 简介 Scrapy 是一个基于 Python 的开源网络爬虫框架&#xff0c;它可以帮助开发者快速、高效地构…