自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 寻找两个正序数组的中位数

合并数组 = [1,2,3,4] ,中位数 (2 + 3) / 2 = 2.5。合并数组 = [1,2,3] ,中位数 2。就是将两个数组合并起来,再找其中位数。请你找出并返回这两个正序数组的。的正序(从小到大)数组。算法的时间复杂度应该为。

2023-12-19 22:35:41 33 1

原创 用栈实现队列

利用连个栈,一个负责进栈,一个负责出栈,每次需要出栈的时候,就把进栈的元素全部添加进出栈中,还需要判断出栈元素是否为空。这样才能保证出栈顺序先进先出。请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(

2023-12-19 22:21:21 27

原创 二叉树的右视图

想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。中序遍历,每当ans的大小和树的深度相同的,将树的值添加到ans去。

2023-12-19 22:05:12 37

原创 二叉树的最大路径和

被定义为一条节点序列,序列中每对相邻节点之间都存在一条边。同一个节点在一条路径序列中。最优路径是 15 -> 20 -> 7 ,路径和为 15 + 20 + 7 = 42。最优路径是 2 -> 1 -> 3 ,路径和为 2 + 1 + 3 = 6。节点,且不一定经过根节点。是路径中各节点值的总和。给你一个二叉树的根节点。

2023-12-19 19:02:07 31

原创 56.合并区间

区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间。表示若干个区间的集合,其中单个区间为。请你合并所有重叠的区间,并返回。

2023-12-19 18:48:53 15

原创 42.接雨水

上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。没当栈内元素小于进栈元素时,就要添加一次面积。面积就等于 宽度*长度。的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。个非负整数表示每个宽度为。

2023-12-19 18:32:35 9

原创 143.重排链表

不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。将链表转化为线性表。再对线性表进行重排操作。

2023-12-19 18:14:20 34

原创 字符串相加

利用双指针算法,将两个指针分别指向两个字符串末尾,依次相加。你不能使用任何內建的用于处理大整数的库(比如。), 也不能直接将输入的字符串转换为整数形式。,计算它们的和并同样以字符串形式返回。给定两个字符串形式的非负整数。

2023-12-19 18:12:45 9

原创 合并K个升序链表

请你将所有链表合并到一个升序链表中,返回合并后的链表。给你一个链表数组,每个链表都已经按升序排列。将它们合并到一个有序链表中得到。利用优先队列,以 val 排序。

2023-12-19 17:49:55 13

原创 54.螺旋矩阵

返回矩阵中的所有元素。

2023-12-19 17:21:12 10

原创 K个一组翻转链表

是一个正整数,它的值小于或等于链表的长度。你不能只是单纯的改变节点内部的值,而是需要实际进行节点交换。的整数倍,那么请将最后剩余的节点保持原有顺序。个节点一组进行翻转,请你返回修改后的链表。将链表分成三分,已翻转,待翻转,未翻转。

2023-12-18 17:55:12 12

原创 LRU缓存

/ 该操作会使得关键字 2 作废,缓存是 {1=1, 3=3}lRUCache.put(4, 4);// 该操作会使得关键字 1 作废,缓存是 {4=4, 3=3}lRUCache.put(2, 2);// 缓存是 {1=1, 2=2}// 返回 -1 (未找到)lRUCache.get(1);// 返回 -1 (未找到)lRUCache.put(1, 1);// 缓存是 {1=1}lRUCache.get(1);请你设计并实现一个满足。的平均时间复杂度运行。

2023-12-18 17:30:12 7

原创 二叉树的最大深度

是指从根节点到最远叶子节点的最长路径上的节点数。将每层的节点存入队列中。

2023-12-18 16:32:48 13

原创 盛水最多的容器

图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。双指针遍历,一头一尾每次更新两个指针之间的最大面积。轴共同构成的容器可以容纳最多的水。找出其中的两条线,使得它们与。返回容器可以储存的最大水量。

2023-12-18 14:53:07 8

原创 判断子序列

如果有大量输入的 S,称作 S1, S2, ... , Sk 其中 k >= 10亿,你需要依次检查它们是否为 T 的子序列。在这种情况下,你会怎样改变代码?字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。添加此问题并且创建所有测试用例。

2023-12-18 12:52:09 11

原创 125.验证回文串

如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后,短语正着读和反着读都一样。则可以认为该短语是一个。利用StringBuffer,Character包装类库的各种方法实现。"amanaplanacanalpanama" 是回文串。字母和数字都属于字母数字字符。

2023-12-18 12:45:56 9

原创 274.H指数

根H 指数的定义,如果当前 H\text{H}H 指数为 hhh 并且在遍历过程中找到当前值 citations[i]>textit{citations}[i] > hcitations[i]>h,则说明我们找到了一篇被引用了至少 h+1h+1h+1 次的论文,所以将现有的 hhh 值加 111。给定数组表示研究者总共有 5 篇论文,每篇论文相应的被引用了 3, 0, 6, 1, 5次。由于研究者有 3 、篇论文每篇。篇论文被引用的次数。被引用了 3次,其余两篇论文每篇被引用。篇论文被引用次数大于等于。

2023-12-18 12:41:10 11

原创 167两数之和

1 与 0 之和等于目标数 -1。因此 index1 = 1, index2 = 2。返回 [1, 2]。2 与 7 之和等于目标数 9。因此 index1 = 1, index2 = 2。返回 [1, 2]。2 与 4 之和等于目标数 6。因此 index1 = 1, index2 = 3。返回 [1, 3]。你所设计的解决方案必须只使用常量级的额外空间。,请你从数组中找出满足相加之和等于目标数。的形式返回这两个整数的下标。以长度为 2 的整数数组。重复使用相同的元素。

2023-12-18 12:36:05 18

原创 45.跳跃游戏2

从下标为 0 跳到下标为 1 的位置,跳。向前跳转的最大长度。生成的测试用例可以到达。跳到最后一个位置的最小跳跃数是。步到达数组的最后一个位置。处,你可以跳转到任意。

2023-12-18 12:06:54 25

原创 169多数元素

本题的解法有很多种,我采用的是排序法,因为众数排序后一定出现在数组 的中间。你可以假设数组是非空的,并且给定的数组总是存在多数元素。,返回其中的多数元素。多数元素是指在数组中出现次数。

2023-12-18 11:47:49 25

原创 删除有序数组重复项2

并且原数组的前五个元素被修改为 0, 0, 1, 1, 2, 3, 3。, 并且原数组的前五个元素被修改为 1, 1, 2, 2, 3。删除重复出现的元素,使得出现次数超过两次的元素。我们照样采用双指针算法,只不过需要稍加改动。并在使用 O(1) 额外空间的条件下完成。不需要考虑数组中超出新长度后面的元素。不需要考虑数组中超出新长度后面的元素。函数应返回新长度 length = 5。函数应返回新长度 length = 7。不要使用额外的数组空间,你必须在。,返回删除后数组的新长度。

2023-12-18 00:16:10 8

原创 删除有序数组的重复项

当不等时,就用i指针(快指针)上的元素覆盖掉慢指针上的元素。当数组前一个元素等于后一个元素时,s指针不移动。不处理数组第一个元素,利用双指针算法解决!,返回删除后数组的新长度。删除重复出现的元素,使每个元素。

2023-12-18 00:05:46 29

原创 最长公共前缀

没啥技巧,就是遍历依次比较每个字符串。找到两两字符串的最长公共前缀。编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串。输入不存在公共前缀。

2023-12-17 23:51:19 10 1

原创 最长回文字符串

如果字符串的反序与原始字符串相同,则该字符串称为回文字符串。依次遍历字符串每个节点,再从每个节点扩散开来。"aba" 同样是符合题意的答案。主要有下面四种扩散方法!

2023-12-17 23:25:21 10 1

原创 无重复字符的最长字串

给定一个字符串s,请你找出其中不含有重复字符的的长度。3因为无重复字符的最长子串是"abc",所以其长度为 3。1因为无重复字符的最长子串是"b",所以其长度为 1。3因为无重复字符的最长子串是"wke",所以其长度为 3。请注意,你的答案必须是的长度,"pwke"是一个子序列,不是子串。

2023-12-17 22:38:12 13 1

原创 142.环形链表

这里我们采用双指针算法。快指针每次走2步,慢指针每次走1步。这样如何存在环的话,慢指针就会与快指针相遇。指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数。如果链表中有某个节点,可以通过连续跟踪。链表中有一个环,其尾部连接到第二个节点。,返回链表开始入环的第一个节点。来表示链表尾连接到链表中的位置(,仅仅是为了标识链表的实际情况。返回索引为 1 的链表节点。给定一个链表的头节点。如果链表无环,则返回。,则在该链表中没有环。当慢指针和快指针相遇时。

2023-12-17 22:06:49 18 1

原创 142.链表相交

这个题目就是先求出两个链表的长度,然后把较长的那个链表,向前移动他们的长度差。从各自的表头开始算起,链表 A 为 [4,1,8,4,5],链表 B 为 [5,0,1,8,4,5]。从各自的表头开始算起,链表 A 为 [0,9,1,2,4],链表 B 为 [3,2,4]。从各自的表头开始算起,链表 A 为 [2,6,4],链表 B 为 [1,5]。在 B 中,相交节点前有 1 个节点。相交节点的值为 8 (注意,如果两个链表相交则不能为 0)。相交节点的值为 2 (注意,如果两个链表相交则不能为 0)。

2023-12-17 21:54:39 20 1

原创 删除倒数第N个节点

给你一个链表,删除链表的倒数第。个结点,并且返回链表的头结点。

2023-12-17 21:42:30 13 1

原创 203.移除链表

建立一个虚拟头节点+双指针算法就可以实现了。

2023-12-17 21:16:50 16 1

原创 DFS和BFS

其实两算法的思路很简单,主要就是代码编写上的细节问题。上面这两道题都是很经典的dfs和bfs问题。利用一个队列和boolean数组实现。

2023-12-16 23:17:37 11

原创 单调栈问题

天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用。,表示每天的温度,返回一个数组。

2023-12-16 21:11:47 8

原创 如何实现git远程连接

git commit -m "评论" //将文件推送至本地仓库。git remote add origin ssh地址。随便创建一个文件夹,并打开git bash。创建gitee仓库并复制ssh地址。

2023-12-06 20:47:46 51 1

原创 C++和java的区别

C++对所有的数字类型有标准的范围限制,但字节长度是跟具体实现相关的,同一个类型在不同操作系统可能长度不一样。Java在所有平台上对所有的基本类型都有标准的范围限制和字节长度。Java 编译器(javac)先将java源程序编译成Java字节码(.class),JVM负责解释执行字节码文件。C++需要显式的内存管理,但有第三方的框架可以提供垃圾搜集的支持。Java 是自动垃圾收集的。Java没有对任何之前的语言向前兼容。Java只允许单继承,需要多继承的情况要使用接口。C++支持指针,引用,传值调用。

2023-11-30 14:30:33 8

原创 59.螺旋矩阵II

所有元素,且元素按顺时针顺序螺旋排列的。

2023-10-24 22:14:59 18

原创 209.长度最小的子数组

如果不存在符合条件的子数组,返回。是该条件下的长度最小的子数组。找出该数组中满足其总和大于等于。个正整数的数组和一个正整数。

2023-10-24 21:59:21 13

原创 977. 有序数组的平方

平方后,数组变为 [16,1,0,9,100]排序后,数组变为 [0,1,9,16,100]组成的新数组,要求也按。

2023-10-24 21:45:52 14

原创 27. 移除元素

元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。不要使用额外的数组空间,你必须仅使用。的元素,并返回移除后数组的新长度。一个简单的双指针应用。

2023-10-24 21:37:57 14

原创 螺旋矩阵II

所有元素,且元素按顺时针顺序螺旋排列的。

2023-09-14 23:57:59 24 1

原创 算法--滑动窗口

快速理解滑动窗口

2023-09-14 23:42:46 38

原创 二分查找算法

深入理解二分查找算法。明确二分查找的使用场景。

2023-07-11 00:48:48 23 1

空空如也

空空如也

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

TA关注的人

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