![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LeetCode刷题
文章平均质量分 58
记录一些刷题笔记
西城风雨楼
if you don't use it ,you will lose it.
展开
-
274. H 指数
题目中给出的H指数定义比较绕,如果查询百度百科可以发现一个更加简单的H指数的定义:那么问题就变得很简单了,将citations数组逆序排序,然后找到当前的下标i,返回i即可。比如示例1中的[6,5,3,1,0],发现i=3的时候满足条件,因此H指数为3。解题的时候并没有采用逆序排序的方法,原因是Arrays工具类仅支持对基本类型数组升序排序,此时该如何做呢?首先百度百科中的序号是从1开始的,而数组下标是从0开始的,百度百科中说的是直到某篇论文的序号大于该论文被引次数,序号减1就是H指数。原创 2023-02-01 20:29:05 · 267 阅读 · 0 评论 -
217. 存在重复元素
使用一个Set集合,依次遍历数组中的元素,每遍历一个元素,先判断当前元素是否存在于Set集合中,如果存在,那么返回true,说明出现了重复元素(题目要求至少一次),如果遍历完所有元素,依然没有提前返回true,那么返回false,说明数组中的元素互不相同。原创 2023-01-23 10:25:23 · 109 阅读 · 0 评论 -
74. 搜索二维矩阵
采用两次二分的方式,第一次二分用于找到target在二维矩阵中的行标,第二次二分只需要对找到的行进行二分查找即可。时间复杂度分析,如果矩阵的行为m,列为n,那么二分搜索行时间复杂度是。知道目标值所在行之后,只需要对该行的数据二分查找target即可。,确定行后,二分搜索该行元素时时间复杂度是。原创 2023-01-19 21:45:18 · 961 阅读 · 0 评论 -
234. 回文链表
回文链表问题,额外要求:你能否用 O(n) 时间复杂度和 O(1) 空间复杂度解决此题?原创 2023-01-18 17:14:06 · 723 阅读 · 0 评论 -
99.恢复二叉搜索树
Leetcode刷题,99.恢复二叉搜索树,Morris遍历解法原创 2023-01-17 15:13:25 · 416 阅读 · 0 评论 -
95.不同的二叉搜索树II
Leetcode题解-95.不同的二叉搜索树II原创 2023-01-16 22:07:25 · 137 阅读 · 1 评论 -
40.组合总数II
组合是典型的求一个数列的子集问题,题目中的限制是找出的数列不能重复,那么这个也很简单,只需要将原序列进行升序排序即可,在回溯树横向扩展的时候(for循环),将重复的元素直接跳过即可(不进行递归,具体看代码)原创 2022-04-21 22:32:51 · 160 阅读 · 0 评论 -
LeetCode46-全排列
LeetCode46-全排列一、题目描述二、回溯树常见的排列问题的回溯树一般有两种写法,下面给出了相应的图示:2.1 基于swap的回溯树树的深度每加深一层,那么该层的每个结点的分支将会减少1,比如第0层是3个分支,到了第1层,每个结点就只有两个分支2.2 基于visited数组的回溯树每一层依然是扩展三个结点,但是重复的结点将会被剪枝,这样也会得到排列问题的回溯树三、代码实现3.1 基于swap回溯树的代码class Solution { public Lis原创 2022-04-21 22:14:31 · 122 阅读 · 0 评论 -
LeetCode39-组合总和
LeetCode39-组合总和原创 2022-04-21 12:37:37 · 787 阅读 · 0 评论