E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
hot100
力扣
hot100
对称二叉树 递归 队列
题目地址参考思路递归的难点在于:找到可以递归的点为什么很多人觉得递归一看就会,一写就废。或者说是自己写无法写出来,关键就是你对递归理解的深不深。对于此题:递归的点怎么找?从拿到题的第一时间开始,思路如下:1.怎么判断一棵树是不是对称二叉树?答案:如果所给根节点,为空,那么是对称。如果不为空的话,当他的左子树与右子树对称时,他对称2.那么怎么知道左子树与右子树对不对称呢?在这我直接叫为左树和右树
兑生
·
2024-01-04 00:21
力扣
hot100
leetcode
算法
职场和发展
力扣
hot100
翻转二叉树 递归
题目地址ACcode/***Definitionforabinarytreenode.*publicclassTreeNode{*intval;*TreeNodeleft;*TreeNoderight;*TreeNode(){}*TreeNode(intval){this.val=val;}*TreeNode(intval,TreeNodeleft,TreeNoderight){*this.va
兑生
·
2024-01-03 20:13
力扣
hot100
leetcode
算法
职场和发展
力扣
hot100
二叉树的最大深度 dfs
题目地址ACcode/***Definitionforabinarytreenode.*publicclassTreeNode{*intval;*TreeNodeleft;*TreeNoderight;*TreeNode(){}*TreeNode(intval){this.val=val;}*TreeNode(intval,TreeNodeleft,TreeNoderight){*this.va
兑生
·
2024-01-03 20:11
力扣
hot100
leetcode
深度优先
算法
LeetCode
hot100
240 搜索二维矩阵
编写一个高效的算法来搜索mxn矩阵matrix中的一个目标值target。该矩阵具有以下特性:每行的元素从左到右升序排列。每列的元素从上到下升序排列。示例1:输入:matrix=[[1,4,7,11,15],[2,5,8,12,19],[3,6,9,16,22],[10,13,14,17,24],[18,21,23,26,30]],target=5输出:true示例2:输入:matrix=[[1,
Daydreaming Kid
·
2023-12-25 08:02
Leetcode刷题之路
算法
leetcode
LeetCode
Hot100
215.数组中的第k个最大元素
题目:给定整数数组nums和整数k,请返回数组中第k个最大的元素。请注意,你需要找的是数组排序后的第k个最大的元素,而不是第k个不同的元素。你必须设计并实现时间复杂度为O(n)的算法解决此问题。方法一:内部api排序classSolution{publicintfindKthLargest(int[]nums,intk){Arrays.sort(nums);intn=nums.length;ret
hn小菜鸡
·
2023-12-22 01:47
算法刷题-堆
leetcode
算法
数据结构
LeetCode
Hot100
347.前k个高频元素
题目:给你一个整数数组nums和一个整数k,请你返回其中出现频率前k高的元素。你可以按任意顺序返回答案。classSolution{publicint[]topKFrequent(int[]nums,intk){int[]result=newint[k];HashMapmap=newHashMap>entries=map.entrySet();//根据map的value值正序排,相当于一个小顶堆P
hn小菜鸡
·
2023-12-22 01:16
算法刷题-堆
leetcode
算法
数据结构
LeetCode
Hot100
295.数据流的中位数
题目:中位数是有序整数列表中的中间值。如果列表的大小是偶数,则没有中间值,中位数是两个中间值的平均值。例如arr=[2,3,4]的中位数是3。例如arr=[2,3]的中位数是(2+3)/2=2.5。实现MedianFinder类:MedianFinder()初始化MedianFinder对象。voidaddNum(intnum)将数据流中的整数num添加到数据结构中。doublefindMedia
hn小菜鸡
·
2023-12-22 01:14
算法刷题-堆
leetcode
算法
职场和发展
力扣算法 Java 刷题笔记【链表篇】
hot100
(一)合并 K 个升序链表(困难) 删除链表的倒数第 N 个结点(中等) 7
文章目录1.合并两个有序链表(简单)==2.合并K个升序链表(困难)==3.环形链表(简单)4.环形链表II(中等)5.链表的中间结点(简单)6.相交链表(简单)7.删除链表的倒数第N个结点(中等)1.合并两个有序链表(简单)地址:https://leetcode-cn.com/problems/merge-two-sorted-lists/ss2021/11/23做题反思:第三次做了,思路清晰很
心海非海_
·
2023-12-21 16:31
数据结构与算法
链表
算法
leetcode
终于秒杀了一题【删除链表的倒数第 N 个结点】(Leetcode 热题
Hot100
)
⭐️LeetCode每日一题⭐️博客主页:南七的博客主页期待得到大家的点赞收藏留言和关注持续刷题,每日一题04Leetcode热题
Hot100
博主水平有限,如果发现有不对的地方,希望大佬们指正!
难啊楠
·
2023-12-21 16:29
77d
LeetCode打卡日记
链表
leetcode
算法
leetcode
hot100
之 删除链表的倒数第 N 个结点
题目给定一个链表,删除倒数第N个节点。并返回链表头。输入:head=[1,2,3,4,5],n=2输出:[1,2,3,5]原题链接:https://leetcode-cn.com/problems/remove-nth-node-from-end-of-list/思路可以直接遍历一次链表,统计链表长度L,那么L-N就是顺数的要删除的节点。再重新遍历一次,走到该节点前面的一个节点,将其删除即可。也可
smallplum123
·
2023-12-21 16:29
LeetCode
链表
leetcode
算法
LeetCode
Hot100
19. 删除链表的倒数第 N 个结点
题目:给你一个链表,删除链表的倒数第n个结点,并且返回链表的头结点。方法一(自己想的,倒数变正着数)/***Definitionforsingly-linkedlist.*publicclassListNode{*intval;*ListNodenext;*ListNode(){}*ListNode(intval){this.val=val;}*ListNode(intval,ListNodene
hn小菜鸡
·
2023-12-21 16:59
算法刷题-链表
leetcode
链表
算法
leetcode
HOT100
17.电话号码的组合 19.删除链表倒数第n个节点
目录17.电话号码的组合19.删除链表的倒数第N个节点解法一:栈解法二:list存储结点17.电话号码的组合思路:首先使用哈希表存储每个数字对应的所有可能的字母,然后进行回溯操作。每次取电话号码的一位数字,从哈希表中获得该数字对应的所有可能的字母,并将其中的一个字母插入到已有的字母排列后面,然后继续处理电话号码的后一位数字,直到到达最后一个数字,即得到一个完整的字母排列。然后进行回退操作,遍历其余
榛果嗨
·
2023-12-21 16:57
力扣HOOT100
java
开发语言
算法
leetcode
【注释详细,思路清晰】【打卡第3天】leetcode热题
HOT100
之Java实现:61、旋转链表,给你一个链表的头节点 head ,旋转链表,将链表每个节点向右移动 k 个位置。
1、题目描述旋转链表给你一个链表的头节点head,旋转链表,将链表每个节点向右移动k个位置。示例1:输入:head=[1,2,3,4,5],k=2输出:[4,5,1,2,3]示例2:输入:head=[0,1,2],k=4输出:[2,0,1]2、算法分析①将链表的每个结点向右移动k个位置,关于k讨论如下:旋转链表,本质上就是将尾部向前数,第K个元素作为头部,原来的头部元素接在尾上至于往右移动,共有两
晓风残月一望关河萧索
·
2023-12-21 16:56
【算法】
旋转链表
【注释详细,思路清晰】【打卡第9天】leetcode热题
HOT100
之Java实现:19. 删除链表的倒数第 N 个结点
1、题目描述给你一个链表,删除链表的倒数第n个结点,并且返回链表的头结点。输入:head=[1,2,3,4,5],n=2输出:[1,2,3,5]2、算法分析①定义四个指针。第一个指针start是指向链表第一个结点的。第二个指针指向pre指向start,第三个current指针指向head,第四个指针fast指向的是head。②fast指针继续往前走,直到指向的是链表的第n个结点,此时current
晓风残月一望关河萧索
·
2023-12-21 16:56
【算法】
求链表倒数第n个结点
【算法
Hot100
系列】删除链表的倒数第 N 个结点
欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。推荐:kwan的首页,持续学习,不断总结,共同进步,活到老学到老导航檀越剑指大厂系列:全面总结java核心技术点,如集合,jvm,并发编程redis,kafka,Spring,微服务,Netty等常用开发工具系列:罗列常用的开发工具,如IDEA,M
檀越剑指大厂
·
2023-12-21 16:55
s6
算法与数据结构
算法
链表
数据结构
LeetCode
Hot100
51.N皇后
题目:按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。n皇后问题研究的是如何将n个皇后放置在n×n的棋盘上,并且使皇后彼此之间不能相互攻击。给你一个整数n,返回所有不同的n皇后问题的解决方案。每一种解法包含一个不同的n皇后问题的棋子放置方案,该方案中'Q'和'.'分别代表了皇后和空位。思路:classSolution{privateintn;privateint[]col
hn小菜鸡
·
2023-12-21 05:03
算法刷题-回溯
leetcode
算法
职场和发展
LeetCode
Hot100
79.单词搜索
题目:给定一个mxn二维字符网格board和一个字符串单词word。如果word存在于网格中,返回true;否则,返回false。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。classSolution{publicbooleanexist(char[][]board,Stringword){char[
hn小菜鸡
·
2023-12-21 05:28
算法刷题-回溯
leetcode
算法
职场和发展
LeetCode
Hot100
239.滑动窗口最大值
题目:给你一个整数数组nums,有一个大小为k的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的k个数字。滑动窗口每次只向右移动一位。返回滑动窗口中的最大值。思路:代码:classSolution{publicint[]maxSlidingWindow(int[]nums,intk){intn=nums.length;int[]ans=newint[n-k+1];//记录结果D
hn小菜鸡
·
2023-12-19 14:30
算法刷题-滑动窗口
算法刷题-子串
leetcode
算法
数据结构
LeetCode
Hot100
76.最小覆盖子串
题目:给你一个字符串s、一个字符串t。返回s中涵盖t所有字符的最小子串。如果s中不存在涵盖t所有字符的子串,则返回空字符串""。注意:对于t中重复字符,我们寻找的子字符串中该字符数量必须不少于t中该字符数量。如果s中存在这样的子串,我们保证它是唯一的答案。代码:classSolution{//建立两个HashMap,ori用于存储目标字符串t中每个字符的出现次数//cnt用于存储当前窗口中每个字符
hn小菜鸡
·
2023-12-19 14:58
算法刷题-子串
leetcode
算法
职场和发展
【算法
Hot100
系列】盛最多水的容器
欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。推荐:kwan的首页,持续学习,不断总结,共同进步,活到老学到老导航檀越剑指大厂系列:全面总结java核心技术点,如集合,jvm,并发编程redis,kafka,Spring,微服务,Netty等常用开发工具系列:罗列常用的开发工具,如IDEA,M
檀越剑指大厂
·
2023-12-18 12:51
s6
算法与数据结构
算法
【算法
Hot100
系列】三数之和
欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。推荐:kwan的首页,持续学习,不断总结,共同进步,活到老学到老导航檀越剑指大厂系列:全面总结java核心技术点,如集合,jvm,并发编程redis,kafka,Spring,微服务,Netty等常用开发工具系列:罗列常用的开发工具,如IDEA,M
檀越剑指大厂
·
2023-12-18 09:06
s6
算法与数据结构
算法
【算法
Hot100
系列】正则表达式匹配
欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。推荐:kwan的首页,持续学习,不断总结,共同进步,活到老学到老导航檀越剑指大厂系列:全面总结java核心技术点,如集合,jvm,并发编程redis,kafka,Spring,微服务,Netty等常用开发工具系列:罗列常用的开发工具,如IDEA,M
檀越剑指大厂
·
2023-12-18 09:10
s6
算法与数据结构
算法
正则表达式
【算法
Hot100
系列】最长回文子串
欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。推荐:kwan的首页,持续学习,不断总结,共同进步,活到老学到老导航檀越剑指大厂系列:全面总结java核心技术点,如集合,jvm,并发编程redis,kafka,Spring,微服务,Netty等常用开发工具系列:罗列常用的开发工具,如IDEA,M
檀越剑指大厂
·
2023-12-17 12:26
s6
算法与数据结构
工具
av1
LeetCode
Hot100
138.随机链表的复制
题目:给你一个长度为n的链表,每个节点包含一个额外增加的随机指针random,该指针可以指向链表中的任何节点或空节点。构造这个链表的深拷贝。深拷贝应该正好由n个全新节点组成,其中每个新节点的值都设为其对应的原节点的值。新节点的next指针和random指针也都应指向复制链表中的新节点,并使原链表和复制链表中的这些指针能够表示相同的链表状态。复制链表中的指针都不应指向原链表中的节点。例如,如果原链表
hn小菜鸡
·
2023-12-15 22:43
算法刷题-链表
leetcode
链表
算法
LeetCode
Hot100
23.合并K个升序链表
题目:给你一个链表数组,每个链表都已经按升序排列。请你将所有链表合并到一个升序链表中,返回合并后的链表。方法:分治,类似于归并classSolution{publicListNodemergeKLists(ListNode[]lists){returnmergeKLists(lists,0,lists.length);}privateListNodemergeKLists(ListNode[]li
hn小菜鸡
·
2023-12-15 22:43
算法刷题-链表
leetcode
链表
算法
LeetCode
Hot100
25.K个一组翻转链表
题目:给你链表的头节点head,每k个节点一组进行翻转,请你返回修改后的链表。k是一个正整数,它的值小于或等于链表的长度。如果节点总数不是k的整数倍,那么请将最后剩余的节点保持原有顺序。你不能只是单纯的改变节点内部的值,而是需要实际进行节点交换。方法:灵神翻转链表代码:classSolution{publicListNodereverseKGroup(ListNodehead,intk){intn
hn小菜鸡
·
2023-12-15 21:02
算法刷题-链表
leetcode
链表
算法
LeetCode
Hot100
146.LRU缓存
题目:请你设计并实现一个满足LRU(最近最少使用)缓存约束的数据结构。实现LRUCache类:LRUCache(intcapacity)以正整数作为容量capacity初始化LRU缓存intget(intkey)如果关键字key存在于缓存中,则返回关键字的值,否则返回-1。voidput(intkey,intvalue)如果关键字key已经存在,则变更其数据值value;如果不存在,则向缓存中插入
hn小菜鸡
·
2023-12-15 11:12
算法刷题-链表
leetcode
缓存
java
LeetCode
Hot100
148.排序链表
题目:给你链表的头结点head,请将其按升序排列并返回排序后的链表。classSolution{publicListNodesortList(ListNodehead){returnsortList(head,null);}privateListNodesortList(ListNodehead,ListNodetail){if(head==null)returnnull;if(head.next
hn小菜鸡
·
2023-12-15 09:22
算法刷题-链表
leetcode
链表
算法
【算法
Hot100
系列】无重复字符的最长子串
欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。推荐:kwan的首页,持续学习,不断总结,共同进步,活到老学到老导航檀越剑指大厂系列:全面总结java核心技术点,如集合,jvm,并发编程redis,kafka,Spring,微服务,Netty等常用开发工具系列:罗列常用的开发工具,如IDEA,M
檀越剑指大厂
·
2023-12-14 21:39
s6
算法与数据结构
算法
LeetCode
Hot100
78.子集
题目:给你一个整数数组nums,数组中的元素互不相同。返回该数组所有可能的子集(幂集)。解集不能包含重复的子集。你可以按任意顺序返回解集。方法:灵神选or不选classSolution{privatefinalList>ans=newArrayListpath=newArrayList>subsets(int[]nums){this.nums=nums;dfs(0);returnans;}//注意
hn小菜鸡
·
2023-12-14 15:30
算法刷题-回溯
leetcode
算法
数据结构
力扣
hot100
最小覆盖子串 滑动窗口 字符计数
题目地址ACcodeclassSolution{publicStringminWindow(Strings,Stringt){intn=s.length();intm=t.length();if(n0)//在t串中出现过的字符才减,减到0即止m--;cnt[c]--;//当前子串抵消t串的字符统计while(m==0)//当前子串完全覆盖完t串{if(r-l
兑生
·
2023-12-04 20:58
力扣
hot100
leetcode
算法
职场和发展
力扣
hot100
滑动窗口最大值 单调队列
题目地址ACcodeclassSolution{publicint[]maxSlidingWindow(int[]nums,intk){intn=nums.length;int[]res=newint[n-k+1];//单调递减队列int[]q=newint[n];//q数组维护的是元素在nums数组对应的下标inth=0,t=-1;for(inti=0;iq[h])//队头滑出窗口h++;wh
兑生
·
2023-12-04 20:28
力扣
hot100
leetcode
算法
java
力扣
hot100
最大子数组和 动态规划 分治 无后效性 子问题划分
题目地址无后效性为了保证计算子问题能够按照顺序、不重复地进行,动态规划要求已经求解的子问题不受后续阶段的影响。这个条件也被叫做「无后效性」。换言之,动态规划对状态空间的遍历构成一张有向无环图,遍历就是该有向无环图的一个拓扑序。有向无环图中的节点对应问题中的「状态」,图中的边则对应状态之间的「转移」,转移的选取就是动态规划中的「决策」。关键1:理解题意题目要我们找出和最大的连续子数组的值是多少,「
兑生
·
2023-12-04 19:55
力扣
hot100
leetcode
动态规划
算法
LeetCode
Hot100
31.下一个排列
题目:整数数组的一个排列就是将其所有成员以序列或线性顺序排列。例如,arr=[1,2,3],以下这些都可以视作arr的排列:[1,2,3]、[1,3,2]、[3,1,2]、[2,3,1]。整数数组的下一个排列是指其整数的下一个字典序更大的排列。更正式地,如果数组的所有排列根据其字典顺序从小到大排列在一个容器中,那么数组的下一个排列就是在这个有序容器中排在它后面的那个排列。如果不存在下一个更大的排列
hn小菜鸡
·
2023-12-03 02:38
算法刷题-技巧
leetcode
算法
职场和发展
LeetCode
Hot100
75.颜色分类
题目:给定一个包含红色、白色和蓝色、共n个元素的数组nums,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。我们使用整数0、1和2分别表示红色、白色和蓝色。必须在不使用库内置的sort函数的情况下解决这个问题。方法:双指针classSolution{publicvoidsortColors(int[]nums){intn=nums.length;intp0=0,p1=
hn小菜鸡
·
2023-12-03 02:37
算法刷题-技巧
leetcode
算法
职场和发展
LeetCode
Hot100
287.寻找重复数
题目:给定一个包含n+1个整数的数组nums,其数字都在[1,n]范围内(包括1和n),可知至少存在一个重复的整数。假设nums只有一个重复的整数,返回这个重复的数。你设计的解决方案必须不修改数组nums且只用常量级O(1)的额外空间。方法:快慢指针代码:classSolution{publicintfindDuplicate(int[]nums){intslow=0,fast=0;do{slow
hn小菜鸡
·
2023-12-03 02:01
算法刷题-技巧
leetcode
算法
职场和发展
LeetCode
Hot100
438.找到字符串中所有字母异位词
题目:给定两个字符串s和p,找到s中所有p的异位词的子串,返回这些子串的起始索引。不考虑答案输出的顺序。异位词指由相同字母重排列形成的字符串(包括相同的字符串)。代码:classSolution{publicListfindAnagrams(Strings,Stringp){intn=s.length(),m=p.length();Listres=newArrayList<>();if(n
hn小菜鸡
·
2023-11-30 23:56
算法刷题-滑动窗口
leetcode
算法
职场和发展
LeetCode
Hot100
3.无重复字符的最长子串
题目:给定一个字符串s,请你找出其中不含有重复字符的最长子串的长度。代码:classSolution{publicintlengthOfLongestSubstring(Strings){char[]arr=s.toCharArray();//转换成char[]加快效率(忽略带来的空间消耗)intn=arr.length,ans=0,left=0;boolean[]has=newboolean[1
hn小菜鸡
·
2023-11-30 23:51
算法刷题-滑动窗口
leetcode
算法
职场和发展
【力扣】[热题
HOT100
] 33.搜索旋转排序数组
1.题目整数数组nums按升序排列,数组中的值互不相同。在传递给函数之前,nums在预先未知的某个下标k(0&nums,inttarget){//处理特殊情况if(nums.empty())return-1;if(nums.size()==1)returnnums[0]==target?0:-1;intleft=0;intright=nums.size()-1;while(left>1;if(nu
失落的换海迷风
·
2023-11-30 01:27
#
力扣
#
热题HOT100
leetcode
leetcode
hot100
之 搜索旋转排序数组
题目给定一个旋转过的升序数组,如[1,2,3,4,5]经过旋转后变成[3,4,5,1,2],数组中每个数字都不重复。并给定一个target数字,请找出其在数组当中相应的下标,如果没有则返回-1.输入:nums=[4,5,6,7,0,1,2],target=0输出:4原题链接:https://leetcode-cn.com/problems/search-in-rotated-sorted-arra
smallplum123
·
2023-11-30 01:26
LeetCode
leetcode
算法
排序算法
【Leetcode
HOT100
】搜索旋转排序数组 c++
题目描述:整数数组nums按升序排列,数组中的值互不相同。在传递给函数之前,nums在预先未知的某个下标k(0&nums,inttarget){intn=nums.size();intleft=0,right=n-1;if(n==1){if(nums[0]==target)return0;return-1;}while(true){if(left>right)return-1;//当left比ri
minus haha
·
2023-11-30 01:52
leetcode
c++
HOT100
二分法
二分法的变种
【
Hot100
】33. 搜索旋转排序数组
33.搜索旋转排序数组中等题但凡是从有序序列中找某个数,第一反应应该是「二分」。一个原本有序的数组在某个点上进行了旋转,其实就是将原本一段升序的数组分为了两段。「二分」的本质是两段性,并非单调性。只要一段满足某个性质,另外一段不满足某个性质,就可以用「二分」。经过旋转的数组,显然前半段满足>=nums[0],而后半段不满足>=nums[0]。我们可以以此作为依据,通过「二分」找到旋转点。class
王六六同学
·
2023-11-30 01:51
leetcode刷题
#
力扣hot
100
leetcode
算法
职场和发展
刷题笔记
Hot100
33. 搜索旋转排序数组
33.搜索旋转排序数组难度:中等数组中存在一个旋转点,在中间的部分分开为左右两半,必定是一边无序,一边有序。此时,只需要在原来的算法上增加判断有序与无序的逻辑,先看看数是不是在有序的那一侧,如果不是,就到另一侧寻找classSolution{publicintsearch(int[]nums,inttarget){intleft=0,right=nums.length-1;while(left<=
春种一粒粟秋收一粒米
·
2023-11-30 01:19
算法
leetcode
数据结构
LeetCode
Hot100
33.搜索旋转排序数组
题目:整数数组nums按升序排列,数组中的值互不相同。在传递给函数之前,nums在预先未知的某个下标k(0=nums[start]&&targetnums[mid]){start=mid+1;}else{end=mid-1;}}}return-1;}}
hn小菜鸡
·
2023-11-30 01:17
算法刷题-二分查找
leetcode
算法
数据结构
LeetCode
Hot100
42.接雨水
题目:给定n个非负整数表示每个宽度为1的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。方法一(相向双指针):竖着计算面积代码:classSolution{publicinttrap(int[]height){intans=0,left=0,right=height.length-1,preMax=0,sufMax=0;while(leftst=newArrayDeque=height[s
hn小菜鸡
·
2023-11-28 21:24
算法刷题-双指针
算法刷题-栈
leetcode
算法
职场和发展
LeetCode
Hot100
739.每日温度
题目:给定一个整数数组temperatures,表示每天的温度,返回一个数组answer,其中answer[i]是指对于第i天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用0来代替。方法(灵神):从右往左遍历,当前元素若大于等于栈顶元素要出栈直至当前元素小于栈顶元素,然后记录ans[i],并把当前元素入栈。代码:classSolution{publicint[]dailyT
hn小菜鸡
·
2023-11-28 21:54
算法刷题-栈
leetcode
算法
职场和发展
LeetCode
Hot100
84.柱状图中最大的矩形
题目:给定n个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为1。求在该柱状图中,能够勾勒出来的矩形的最大面积。方法:代码:classSolution{publicintlargestRectangleArea(int[]hs){intn=hs.length;int[]l=newint[n],r=newint[n];Arrays.fill(l,-1);Arrays.fill(r
hn小菜鸡
·
2023-11-28 21:52
算法刷题-栈
leetcode
算法
职场和发展
LeetCode
Hot100
394.字符串解码
题目:给定一个经过编码的字符串,返回它解码后的字符串。编码规则为:k[encoded_string],表示其中方括号内部的encoded_string正好重复k次。注意k保证为正整数。你可以认为输入字符串总是有效的;输入字符串中没有额外的空格,且输入的方括号总是符合格式要求的。此外,你可以认为原始数据不包含数字,所有的数字只表示重复的次数k,例如不会出现像3a或2[4]的输入。代码:classSo
hn小菜鸡
·
2023-11-28 16:24
算法刷题-栈
leetcode
算法
职场和发展
LeetCode
Hot100
20.有效的括号
题目:给定一个只包括'(',')','{','}','[',']'的字符串s,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右括号都有一个对应的相同类型的左括号。方法:由于栈结构的特殊性,非常适合做对称匹配类的题目。首先要弄清楚,字符串里的括号不匹配有三种情况:第一种情况:已经遍历完了字符串,但是栈不为空,说明有相应的左括号没有右括号来匹配
hn小菜鸡
·
2023-11-28 16:54
算法刷题-栈
leetcode
算法
职场和发展
LeetCode
Hot100
155.最小栈
题目:设计一个支持push,pop,top操作,并能在常数时间内检索到最小元素的栈。实现MinStack类:MinStack()初始化堆栈对象。voidpush(intval)将元素val推入堆栈。voidpop()删除堆栈顶部的元素。inttop()获取堆栈顶部的元素。intgetMin()获取堆栈中的最小元素。方法:用一个变量保存最小值,当有更小的值来的时候,我们只需要把之前的最小值入栈,当前
hn小菜鸡
·
2023-11-28 16:50
算法刷题-栈
leetcode
java
数据结构
上一页
2
3
4
5
6
7
8
9
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他