自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 [leetcode hot 150]第一百六十二题,寻找峰值

我们需要找到一个峰值元素的索引。峰值元素是指其值严格大于左右相邻值的元素。如果有多个峰值元素,返回任意一个峰值元素的索引即可。,找到峰值元素并返回其索引。数组可能包含多个峰值,在这种情况下,返回。那么首先我们要想到的是:给定一个整数数组。峰值元素是指其值严格大于左右相邻值的元素。,这意味着数组的两端被看作是负无穷大。根据分析,我觉得初步解题步骤为。你必须实现时间复杂度为。的算法来解决此问题。

2024-05-19 11:33:14 156

原创 [leetcode hot 150]第一百零二题,二叉树的层序遍历

题目:给你二叉树的根节点root,返回其节点值的。(即逐层地,从左到右访问所有节点)。

2024-05-14 20:40:40 240

原创 [leetcode hot150]第二百零九题,长度最小的子数组

给定一个含有n个正整数的数组和一个正整数target找出该数组中满足其总和大于等于target的长度最小的,并返回其长度如果不存在符合条件的子数组,返回0。

2024-05-09 17:04:47 180 1

原创 [leetcode hot 150]第七十四题,搜索二维矩阵

给你一个满足下述两条属性的m x n给你一个整数target,如果target在矩阵中,返回true;否则,返回false。这题的思路还是比较简单的,由于矩阵从左到右都是单调不减的。

2024-05-03 23:48:34 198 1

原创 [leetcode hot150]第一百一十四题,二叉树展开为链表

给你二叉树的根结点rootTreeNoderightnull。

2024-05-03 11:24:05 214 1

原创 [leetcode hot150]第二百三十八题,除自身以外数组的乘积

给你一个整数数组nums,返回数组answer,其中answer[i]等于nums中除nums[i]之外其余各元素的乘积。题目数据数组nums之中任意元素的全部前缀元素和后缀的乘积都在整数范围内。请且在O( n)时间复杂度内完成此题。

2024-05-02 21:34:58 171 2

原创 [leetcode hot150]第二百七十四题,H指数

这里我没用Array.sort(),数组排序正好复习一下手写快排。这个算法将数组的索引和数组索引对应的值联系起来,巧妙解决了问题。篇论文被引用的次数。计算并返回该研究者的 h。这个思路的关键在于,我们需要找到一个最大的。代表“高引用次数” ,一名科研人员的。篇论文被引用次数大于等于。篇论文被引用次数大于等于。意味着这个研究者至少有。我们要找到最大的这样的。是指他(她)至少发表了。

2024-05-02 16:28:09 324 1

原创 [leetcode hot 150]第一百五十题,逆波兰表达式求值

遍历完整个表达式后,栈中剩下的元素就是表达式的最终结果。这道题知道了思路之后就比较简单,下面直接上代码,简单易懂。

2024-04-30 16:49:10 194 1

原创 [leetcode hot150]第三十五题,二分查找

给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。二分查找算法是一种在有序数组中查找特定元素的算法。它通过重复将搜索区间减半来工作。因为是向下取整,而且题目要求如果没找到要返回之间的位置,所以最后返回left。题目挺简单的,但是如果没在写之前算好边界问题,就会一直debug。请必须使用时间复杂度为。

2024-04-29 15:58:25 109

原创 [leetcode hot150]第七十一题,简化路径

表示将目录切换到上一级(指向父目录);两者都可以是复杂相对路径的组成部分。任意多个连续的斜杠(即,,表示指向某一文件或目录的 Unix 风格。开头),请你将其转化为更加简洁的规范路径。对于此问题,任何其他格式的点(例如,在 Unix 风格的文件系统中,一个点()表示当前目录本身;)均被视为文件/目录名称。

2024-04-29 09:44:24 318

原创 IDEA编译项目报错Illegal char :> at index __:

今晚写代码的时候遇到了一个问题,IDEA昨天在使用的时候还是好用的,但是今天编译哪个文件都输出Illegal char :> at index __。这个提示不在控制台输出任何信息,而是在运行(run)上面出现一个很小很小的红色框里面有这行报错信息。当然我这个项目是写算法练手文件夹,删除了.idea没什么问题,如果你是SpringBoot项目,那么我估计你还要重新做导包等一系列工作。不清楚是什么原因,但是在网上找了半天终于找到了解决方法,亲测有效。index后面显示的是一个数字,这个因人而异。

2024-04-28 23:51:52 328

原创 [leetcode hot 150]第79题,单词搜索

给定一个m x n二维字符网格board和一个字符串单词word。如果word存在于网格中,返回true;否则,返回false。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。这个问题要求我们在一个二维字符网格中找到一个给定的单词。单词必须按照字母顺序,通过相邻的单元格内的字母构成,同一个单元格内的字母不允许被重复使用。可以使用深度优先搜索来解决这个问题。

2024-04-28 13:29:42 513

原创 leetcode hot150,第二十二题,括号生成

数字n代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且括号组合。

2024-04-26 14:48:46 147 1

原创 leetcode hot150第46题,全排列

首先回溯要明确一点就是,使用递归是基本,所以递归前要确定使用哪些变量,这里在调用BackTrack前,建立List<List<Integer>> re,来存放最终结果,建立List<Integer> permutation来存放当前叶子节点的结果。如果不是,那么要扫一遍nums数组,如果当前节点没被使用,那么将当前节点加入permutation,然后调用backTrack遍历剩余节点,在加入了一个叶子节点到最终re的结果后,剔除permutation最后一个数,寻找别的组合。给定一个不含重复数字的数组。

2024-04-25 13:50:14 355 1

原创 leetcode hot 150 第77题,组合

那么怎么将这段代码代入到本题呢。

2024-04-24 14:59:16 97 4

原创 leetcode hot150第129题,求根节点到叶子节点的数字之和

先附上TreeNode,这里我自己定义一个buildTree函数,通过integer类型的数组,层序遍历的顺序来初始化树。从上到下依次是每个节点的值乘十然后加上下一个节点的值,如果到叶子节点后,则一个分支算完,返回一个加数。这样树就可以轻松创建出来,可以在自己的ide上debug,这在leetcode上需要开会员。首先定义递归终止条件,node==null代表到了叶子节点的子节点(null),返回0。,树中每个节点都存放有一个。计算从根节点到叶节点生成的。给你一个二叉树的根节点。是指没有子节点的节点。

2024-04-23 13:57:15 140

原创 leetcode hot150第17题,电话号码的字母组合

给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。的字符串,返回所有它能表示的字母组合。

2024-04-22 13:59:01 103

原创 leetcode第93题,复原ip地址

用以表示一个 IP 地址,返回所有可能的。正好由四个整数(每个整数位于。之间组成,且不能含有前导。给定一个只包含数字的字符串。,这些地址可以通过在。

2024-04-21 09:10:56 285 1

原创 leetcode hot150第86题,分隔链表

简单方法是维护两个链表,一个是小链表,一个是大于等于链表,遍历一遍链表之后就能得到两个独立链表,再将它们连接在一起就可以,由于修改头节点,所以创建两个哑节点作为标识。这题思路比较清晰和简单,注意开始循环前记录两个链表头的位置,最后将两个链表连接时是第一个链表结尾的下一个节点,链接第二个链表的哑节点的下一个节点即可。并没有使用原地修改,这个方法运用的时间和空间也不大,所以根据自己的思路调整!两个分区中每个节点的初始相对位置。,请你对链表进行分隔,使得所有。给你一个链表的头节点。

2024-04-20 16:11:54 182

原创 leetcode hot150第61题旋转链表

和之前的数组转换一样,先求出k mod n,只关注余数因为不管循环了多少次都是相同的链表。首先求出链表长度,先定一一个节点,因为这个节点会移到最后,所以正好用他来连接头节点形成环。因为新链表的最后一个节点是原链表的第 (n-1) - (k%n)个节点。(当然也可以使用和数组反转一样的思路:1、全反转。,旋转链表,将链表每个节点向右移动。题目:给你一个链表的头节点。根据情况自己调整吧!

2024-04-19 16:57:29 168 1

原创 leetcode的hot150第82题,删除排序链表中的重复元素

那么怎么不保留重复的所有节点呢,就需要判断下两个元素,如果下两个元素值都相同,那么就再嵌套一个循环,和删除节点是一个原理;要先删除一个节点,需要利用上一个节点,就是将上一个节点的next指向下一个节点(java应该会通过垃圾回收,回收这部分内存)。通过分析本题需要哑节点处理即可,可能会有疑问什么时候需要哑节点:在链表中需要修改或删除理头节点时,使用哑节点更方便。删除原始链表中所有重复数字的节点,只留下不同的数字。首先连标题三大法则:哑节点,栈,快慢指针。题目:给定一个已排序的链表的头。

2024-04-18 14:02:02 246 1

原创 leetcode hot150题解第19题,删除链表倒数第n个节点

题目中要求最好将链表只遍历一次才可以,但是根据分析可知,链表题无非三种方法:哑节点、栈、快慢指针(双指针)。第二种栈方法即将所有链表压进栈,再通过出栈n次找到要删除的节点,仍是遍历两次;下一步就是关键的找节点了,其实这里隐藏着一个坑,如果简单的变为向后移动length - n - 1个节点,然后再curr.next = curr.next.next;时,当只有一个节点的链表就会出错。所以正确的是将哑节点设置在head的前一个,将循环变成for (i = 1;给你一个链表,删除链表的倒数第。

2024-04-17 20:05:15 466 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除