力扣爆刷第87天之hot100五连刷21-25

力扣爆刷第87天之hot100五连刷21-25

文章目录

      • 力扣爆刷第87天之hot100五连刷21-25
      • 一、240. 搜索二维矩阵 II
      • 二、160. 相交链表
      • 三、206. 反转链表
      • 四、234. 回文链表
      • 五、141. 环形链表

一、240. 搜索二维矩阵 II

题目链接:https://leetcode.cn/problems/search-a-2d-matrix-ii/description/?envType=study-plan-v2&envId=top-100-liked
思路:从横向递增纵向递增的矩阵中搜索target,利用顺序的特性,从矩阵的右上角进行搜索,如果相等就返回,如果大于向下进行搜索,如果小于向左进行搜索,存在的话自然可以找到,不存在的话会一直搜索到边界才会停止,也就是当前算法还有改进的空间,可以采取早停措施。
在这里插入图片描述

class Solution {public boolean searchMatrix(int[][] matrix, int target) {return dfs(matrix, 0, matrix[0].length-1, target);}boolean dfs(int[][] matrix, int i, int j, int target) {while(i < matrix.length && j >= 0) {if(matrix[i][j] == target) {return true;}if(matrix[i][j] > target) {j--;}else {i++;}}return false;}
}

二、160. 相交链表

题目链接:https://leetcode.cn/problems/intersection-of-two-linked-lists/description/?envType=study-plan-v2&envId=top-100-liked
思路:经典题目,直接求长度,然后对齐,然后同步比较,相同即返回。

/*** Definition for singly-linked list.* public class ListNode {*     int val;*     ListNode next;*     ListNode(int x) {*         val = x;*         next = null;*     }* }*/
public class Solution {public ListNode getIntersectionNode(ListNode headA, ListNode headB) {ListNode pa = headA, pb = headB;int lenA = 0, lenB = 0;while(pa != null) {lenA++;pa = pa.next;}while(pb != null) {lenB++;pb = pb.next;}pa = headA;pb = headB;while(lenA > lenB) {pa = pa.next;lenA--;}while(lenB > lenA) {pb = pb.next;lenB--;}while(pa != null) {if(pa == pb) {return pa;}pa = pa.next;pb = pb.next;}return null;}
}

三、206. 反转链表

题目链接:https://leetcode.cn/problems/reverse-linked-list/description/?envType=study-plan-v2&envId=top-100-liked
思路:两个指针,一个指向头结点,一个用于向后走,遍历过程中用临时变量记录临时节点,然后采用头插法即可。

class Solution {public ListNode reverseList(ListNode head) {ListNode root = new ListNode();ListNode p1 = root, p2 = head;while(p2 != null) {ListNode t = p2;p2 = p2.next;t.next = p1.next;p1.next = t;}return root.next;}
}

四、234. 回文链表

题目链接:https://leetcode.cn/problems/palindrome-linked-list/description/?envType=study-plan-v2&envId=top-100-liked
思路:直接快慢指针定位中间节点,然后翻转其中一般的链表,然后遍历比较即可。

/*** Definition for singly-linked list.* public class ListNode {*     int val;*     ListNode next;*     ListNode() {}*     ListNode(int val) { this.val = val; }*     ListNode(int val, ListNode next) { this.val = val; this.next = next; }* }*/
class Solution {public boolean isPalindrome(ListNode head) {ListNode p1 = head, p2 = head;while(p2 != null && p2.next != null) {p1 = p1.next;p2 = p2.next.next;}if(p2 != null) {p1 = p1.next;}p2 = reverse(p1);p1 = head;while(p2 != null) {if(p1.val != p2.val) {return false;}p1 = p1.next;p2 = p2.next;}return true;}ListNode reverse(ListNode head) {ListNode root = new ListNode();ListNode p1 = root, p2 = head;while(p2 != null) {ListNode t = p2;p2 = p2.next;t.next = p1.next;p1.next = t;}return root.next;}
}

五、141. 环形链表

题目链接:https://leetcode.cn/problems/linked-list-cycle/description/?envType=study-plan-v2&envId=top-100-liked
思路:判断是否有环,直接快慢指针。

public class Solution {public boolean hasCycle(ListNode head) {ListNode slow = head, fast = head;while(fast != null && fast.next != null) {slow = slow.next;fast = fast.next.next;if(slow == fast) return true;}return false;}
}

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

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

相关文章

前端每日一练 :相邻元素、嵌套元素Margin 塌陷、合并问题如何额解决?

相邻元素外边距塌陷合并 表现示例 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</t…

Python与FPGA——sobel边缘检测

文章目录 前言一、sobel边缘检测二、Python sobel边缘检测三、FPGA sobel边缘检测总结 前言 边缘存在于目标、背景区域之间&#xff0c;它是图像分割所依赖的较重要的依据&#xff0c;也是图像匹配的重要特征。边缘检测在图像处理和计算机视觉中&#xff0c;尤其在图像的特征提…

LVS----DR模式

一、LVS-DR工作原理 1、LVS-DR数据包流向分析 客户端发送请求到Director Server (负载均衡器)&#xff0c;请求的数据报文&#xff08;源IP是CIP&#xff0c;目标IP是VIP&#xff09;到达内核空间。Director Server 和Real Server 在同一个网络中&#xff0c;数据通过二层数据…

turtle海龟画图

10. 画笔设置 1. 画笔设置 海龟库绘制时的线条是可以设置的&#xff0c;例如画笔的颜色&#xff0c;方法名如下&#xff1a; 方法名方法说明.pencolor(‘red’)设置画笔颜色&#xff0c;例如红色 import turtle #导入海龟图库 turtle.shape(turtle) #召唤海龟 turtle.pencolo…

【vue3之组合式API及其新特性】

组合式API及其新特性 一、setup1.写法2.如何访问3.语法糖4.同步返回对象 二、reactive()和ref()1.reactive()2.ref() 三、computed四、watch函数1.侦听单个数据2.侦听多个数据3. immediate4. deep5.精确侦听对象的某个属性 五、生命周期函数六、组件通信1.父传子2. 子传父 七、…

Java开发从入门到精通(一):Java的基础语法进阶

Java大数据开发和安全开发 &#xff08;一&#xff09;Java注释符1.1 单行注释 //1.2 多行注释 /* */1.3 文档注释 /** */1.4 各种注释区别1.5 注释的特点1.5 注释的快捷键 &#xff08;二&#xff09;Java的字面量&#xff08;三&#xff09;Java的变量3.1 认识变量3.2 为什么…

(亲测可用)Adobe Photoshop 2024下载与安装

背景介绍&#xff1a;Adobe Photoshop 2024 是全球最受欢迎的图像编辑软件之一&#xff0c;2024年的版本带来了一系列令人印象深刻的功能&#xff1a; AI增强的自动选择和蒙版工具&#xff1a;现在&#xff0c;用户可以更轻松地选择和处理复杂的图像元素。更多的3D渲染功能&…

如何使用宝塔面板搭建Discuz并结合cpolar实现远程访问本地论坛

文章目录 前言1.安装基础环境2.一键部署Discuz3.安装cpolar工具4.配置域名访问Discuz5.固定域名公网地址6.配置Discuz论坛 前言 Crossday Discuz! Board&#xff08;以下简称 Discuz!&#xff09;是一套通用的社区论坛软件系统&#xff0c;用户可以在不需要任何编程的基础上&a…

第3部分 原理篇3可验证凭证(VC)(2)

3.3.3. 可验证凭证生态 3.3.3.1. 生态中的角色和概念 本聪老师&#xff1a;问大家个问题&#xff0c;我们生活中常见的实物凭证包括哪些信息&#xff1f; 小天&#xff1a;以身份证为例&#xff0c;包括姓名、性别、出生年月、住址等个人信息&#xff0c;还有发证部门&#…

【嵌入式——QT】Model/View

【嵌入式——QT】Model/View 基本原理数据模型视图组件代理Model/View结构的一些概念QFileSystemModelQStringListModelQStandardItemModel自定义代理 基本原理 GUI应用程序的一个很重要的功能是由用户在界面上编辑和修改数据&#xff0c;典型的如数据库应用程序&#xff0c;数…

重学SpringBoot3-@EnableConfigurationProperties注解

重学SpringBoot3-EnableConfigurationProperties注解 1. 引言2. EnableConfigurationProperties 的作用3. 使用示例4. 总结 1. 引言 Spring Boot 提供了一种便捷的方式来管理和校验应用程序的配置&#xff0c;即通过类型安全的配置属性。EnableConfigurationProperties 注解在…

pycharm 自定义TODO类注释以及其高亮颜色

大体介绍 使用自定义TODO是为了方便看&#xff0c;并且快速定位到位置 上面是为了进行标记&#xff0c;下面是让哪些标记可以过滤掉&#xff08;自定义过滤规则&#xff09;&#xff0c;从而在pycharm下面的TODO可以显示并过滤 如何设置&#xff1f; Setting-Preferences-Ed…

练习 5 Web [GXYCTF2019]BabyUpload

[GXYCTF2019]BabyUpload 猜测直接上传txt会被过滤&#xff0c;提示“上传类型也太露骨了吧&#xff01;”按经验传入一个"muma.phtml" 提示过滤了“ph”相关的后缀 传入muma.jpg等图像格式&#xff0c;提示表明复原并检测了文件内容 审查文件后缀Context-type 不能…

【北京迅为】《iTOP-3588开发板网络环境配置手册》第3章 开发板直连电脑配置方法(不能上外网)

RK3588是一款低功耗、高性能的处理器&#xff0c;适用于基于arm的PC和Edge计算设备、个人移动互联网设备等数字多媒体应用&#xff0c;RK3588支持8K视频编解码&#xff0c;内置GPU可以完全兼容OpenGLES 1.1、2.0和3.2。RK3588引入了新一代完全基于硬件的最大4800万像素ISP&…

2024 年 AI 辅助研发趋势:从研发数字化到 AI + 开发工具 2.0,不止于 Copilot

在上一年里&#xff0c;已经有不少的企业在工具链上落地了生成式 AI&#xff0c;结合我们对于这些企业的分析&#xff0c;以及最近在国内的一些 “新技术” 趋势&#xff0c;诸如于鸿蒙原生应用的初步兴起。从这些案例与趋势中&#xff0c;我们也看到了一些新的可能方向。 结合…

【 HTML 及浏览器 】DOM 树

“人生如同弓弦&#xff0c;经历拉扯才能发出激越的音响。在坎坷的拉扯中&#xff0c;用坚定的力量拉近梦想的弓弦&#xff0c;让每一次的发声都是生命的高潮。” - 约瑟夫康拉德 DOM树&#xff1a;构建动态网页的骨架 在互联网的世界里&#xff0c;网页就像是一个个生动的故事…

关于报考NISP二级的紧急通知

为规范NISP二级报考条件和CISP证书换证标准&#xff0c;根据中国信息安全测评中心最新通知&#xff0c;即日起NISP二级仅限全日制在校大学生报考&#xff0c;报名时必须同步提供学信网在籍证明图。 NISP二级被誉为“校园版CISP”&#xff0c;是网络行业的通行证&#xff0c;计算…

哪里下载Mac上最全面的系统清理工具,CleanMyMac X4.15中文版永久版资源啊

哪里下载Mac上最全面的系统清理工具&#xff0c;CleanMyMac X4.15中文版永久版资源啊&#xff0c;CleanMyMac X4.15中文版是一款全面的Mac系统优化工具。它能够扫描、检测并清理不需要的文件和应用程序&#xff0c;优化内存使用和磁盘空间&#xff0c;提高Mac的性能表现。此外&…

xinput1_3.dll丢失都有什么办法可以有效的解决、xinput1_3.dll导致游戏不能启动怎么办?

使用电脑的过程中是不是会遇到关于某个dll文件丢失的提示&#xff0c;今天想和大家聊的是xinput1_3.dll文件&#xff0c;如果电脑提示xinput1_3.dll丢失有什么办法可以有效的解决&#xff0c;解决办法都有哪些&#xff0c;如果xinput1_3.dll丢失会对电脑有什么影响。&#xff0…

力扣hot100:239.滑动窗口最大值(优先队列/单调队列)

本题是一个经典的单调队列题。不过用优先队列也能解决。 一、优先队列 在使用优先队列时&#xff0c;我们会遇到这样的问题&#xff1a;如何将一个目标数从优先队列中弹出&#xff1f;如果使用stl这是办不到的&#xff0c;虽然可以自行实现这样的功能。但是我们可以这样思考&am…