自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一点点奋斗的程序媛

只记录一些打卡啦

  • 博客(136)
  • 收藏
  • 关注

原创 Leetcode148 排序链表

排列并返回排序后的链表。

2024-03-07 20:11:40 385

原创 Leetcode47 全排列II

可重复回溯

2024-03-05 09:52:04 441 1

原创 Leetcode69 x的平方根

注意:不允许使用任何内置指数函数和算符,例如 pow(x, 0.5) 或者 x ** 0.5。解释:8 的算术平方根是 2.82842…, 由于返回类型是整数,小数部分将被舍去。由于返回类型是整数,结果只保留 整数部分 ,小数部分将被 舍去。给你一个非负整数 x ,计算并返回 x 的 算术平方根。

2023-12-13 23:03:32 508

原创 Leetcode221 最大正方形

在一个由 ‘0’ 和 ‘1’ 组成的二维矩阵内,找到。

2023-12-13 22:48:35 456

原创 Leetcode143 重排链表

不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。

2023-12-12 21:59:58 401

原创 Leetcode415 字符串相加

你不能使用任何內建的用于处理大整数的库(比如。), 也不能直接将输入的字符串转换为整数形式。给定两个字符串形式的非负整数。,计算它们的和并同样。

2023-12-11 15:20:22 450

原创 Leetcode93 复原IP地址

例如:“0.1.2.201” 和 “192.168.1.1” 是 有效 IP 地址,但是 “0.011.255.245”、“192.168.1.312” 和 “192.168@1.1” 是 无效 IP 地址。,这些地址可以通过在 s 中插入 ‘.’ 来形成。你 不能 重新排序或删除 s 中的任何数字。你可以按 任何 顺序返回答案。正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 ‘.’ 分隔。的字符串 s ,用以表示一个 IP 地址,返回。

2023-12-11 14:49:01 425

原创 Leetcode 92 反转链表II

【代码】Leetcode 92 反转链表II。

2023-12-06 09:51:56 461

原创 Leetcode103 二叉树的锯齿形层序遍历

(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。

2023-11-25 10:01:16 635

原创 Leetcode88 合并两个有序数组

注意,因为 m = 0 ,所以 nums1 中没有元素。nums1 中仅存的 0 仅仅是为了确保合并结果可以顺利存放到 nums1 中。合并结果是 [1,2,2,3,5,6] ,其中斜体加粗标注的为 nums1 中的元素。注意:最终,合并后数组不应由函数返回,而是存储在数组。解释:需要合并 [1,2,3] 和 [2,5,6]。中,使合并后的数组同样按 非递减顺序 排列。解释:需要合并的数组是 [] 和 [1]。解释:需要合并 [1] 和 []。个元素表示应合并的元素,后。合并结果是 [1]。

2023-11-16 20:21:26 158

原创 100 寻找重复数

范围内(包括 1 和 n),可知至少存在一个重复的整数。「Floyd 判圈算法」时间复杂度为线性的时间复杂度。你设计的解决方案必须 不修改 数组。

2023-11-10 17:52:32 123

原创 99 颜色分类

原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。给定一个包含红色、白色和蓝色、共。输出:[0,0,1,1,2,2]输出:[0,1,2]

2023-11-10 15:37:52 83

原创 98 多数元素

返回其中的多数元素。多数元素是指在数组中出现次数 大于。你可以假设数组是非空的,并且给定的数组总是存在多数元素。进阶:尝试设计时间复杂度为。

2023-11-10 08:17:29 69

原创 97 只出现一次的数字

除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。的算法来解决此问题,且该算法。

2023-11-10 08:05:27 163

原创 96 前缀树Trie

(发音类似 “try”)或者说 前缀树 是一种树形数据结构,用于高效地存储和检索字符串数据集中的键。这一数据结构有相当多的应用情景,例如自动补完和拼写检查。

2023-11-10 08:01:43 227

原创 95 课程表

方法一: BFS从入度思考(从前往后排序), 入度为0的节点在拓扑排序中一定排在前面, 然后删除和该节点对应的边, 迭代寻找入度为0的节点。方法二: DFS从出度思考(从后往前排序), 出度为0的节点在拓扑排序中一定排在后面, 然后删除和该节点对应的边, 迭代寻找出度为0的节点。解释:总共有 2 门课程。学习课程 1 之前,你需要先完成​课程 0;并且学习课程 0 之前,你还应先完成课程 1。在选修某些课程之前需要一些先修课程。解释:总共有 2 门课程。学习课程 1 之前,你需要完成课程 0。

2023-11-10 07:31:25 133

原创 94 腐烂的橘子

【代码】94 腐烂的橘子。

2023-11-06 14:48:51 75

原创 【并查集】93 岛屿数量

给你一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。

2023-11-03 11:53:45 67

原创 92 数据流中的中位数

是有序整数列表中的中间值。如果列表的大小是偶数,则没有中间值,中位数是两个中间值的平均值。返回到目前为止所有元素的中位数。与实际答案相差 10-5 以内的答案将被接受。的中位数是 (2 + 3) / 2 = 2.5。

2023-11-02 12:38:16 70

原创 91 前K个高频元素

进阶:你所设计算法的时间复杂度 必须 优于。你可以按 任意顺序 返回答案。,请你返回其中出现频率前。

2023-11-02 12:10:12 113

原创 90 数组中的第K个最大元素

大根堆就是根节点是整棵树的最大值(根节点大于等于左右子树的最大值),对于他的任意子树,根节点也是最大值。请注意,你需要找的是数组排序后的第。你必须设计并实现时间复杂度为。个最大的元素,而不是第。

2023-11-02 11:40:46 337

原创 89 柱状图中最大的矩形

个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1。求在该柱状图中,能够勾勒出来的矩形的最大面积。

2023-11-01 12:06:10 154

原创 88 每日温度

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

2023-10-31 21:56:33 132

原创 【经典面试】87 字符串解码

输入字符串中没有额外的空格,且输入的方括号总是符合格式要求的。此外,你可以认为原始数据不包含数字,所有的数字只表示重复的次数。给定一个经过编码的字符串,返回它解码后的字符串。,例如不会出现像 3a 或 2[4] 的输入。输入:s = “2[abc]3[cd]ef”输入:s = “abc3[cd]xyz”输出:“abcabccdcdcdef”输入:s = “3[a]2[bc]”输入:s = “3[a2[c]]”输出:“abccdcdcdxyz”输出:“accaccacc”输出:“aaabcbc”

2023-10-30 17:03:17 208

原创 86 最小栈

-> 返回 -3.minStack.getMin();--> 返回 -2.minStack.top();操作,并能在常数时间内检索到最小元素的栈。

2023-10-30 15:16:32 68

原创 82 N皇后

皇后问题 的棋子放置方案,该方案中 ‘Q’ 和 ‘.’ 分别代表了皇后和空位。的棋盘上,并且使皇后彼此之间不能相互攻击。按照国际象棋的规则,皇后可以攻击与之处在。皇后问题 研究的是如何将。每一种解法包含一个不同的。皇后问题 的解决方案。

2023-10-29 20:47:03 97

原创 81 分割回文串

输出:[[“a”,“a”,“b”],[“aa”,“b”]]返回 s 所有可能的分割方案。是正着读和反着读都一样的字符串。输出:[[“a”]]

2023-10-29 20:28:22 90

原创 【需要理解】80 单词搜索

单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。

2023-10-29 16:52:04 185

原创 79 电话号码的字母组合

输出:[“ad”,“ae”,“af”,“bd”,“be”,“bf”,“cd”,“ce”,“cf”]的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。输出:[“a”,“b”,“c”]

2023-10-29 12:53:37 100

原创 78 子集

返回该数组所有可能的子集(幂集)。

2023-10-29 12:21:16 147

原创 77 全排列

返回其 所有可能的全排列。给定一个不含重复数字的数组。

2023-10-28 10:34:47 80

原创 75 寻找旋转排序数组中的最小值

它原来是一个升序排列的数组,并按上述情形进行了多次旋转。请你找出并返回数组中的 最小元素。解释:原数组为 [0,1,2,4,5,6,7] ,旋转 4 次得到输入数组。解释:原数组为 [11,13,15,17] ,旋转 4 次得到输入数组。解释:原数组为 [1,2,3,4,5] ,旋转 3 次得到输入数组。次 旋转 后,得到输入数组。给你一个元素值 互不相同 的数组。若旋转 4 次,则可以得到。若旋转 7 次,则可以得到。旋转一次 的结果为数组。你必须设计一个时间复杂度为。

2023-10-28 09:41:41 91

原创 71 搜索二维矩阵

给你一个整数。

2023-10-27 11:27:26 479

原创 70 搜索插入位置

给定一个排序数组和一个目标值,在数组中找到目标值,如果目标值不存在于数组中,请必须使用时间复杂度为。

2023-10-27 11:04:53 145

原创 69 划分字母区间

划分结果为 “ababcbaca”、“defegde”、“hijhklij”。每次都在找当前字符所在的最大下标k,可以保证该片段的最小长度n>k-begin。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。注意,划分结果需要满足:将所有划分结果按顺序连接,得到的字符串仍然是。每个字母最多出现在一个片段中。返回一个表示每个字符串片段的。输出:[9,7,8]

2023-10-26 11:59:41 96

原创 68 买卖股票的最佳时机

解释:在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5。买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格;同时,你不能在买入前卖出股票。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0。解释:在这种情况下, 没有交易完成, 所以最大利润为 0。表示一支给定股票第 i 天的价格。

2023-10-25 11:38:18 94

原创 67 跳跃游戏 II

直观上来看,我们可以「贪心」地选择距离最后一个位置最远的那个位置,也就是对应下标最小的那个位置。从下标为 0 跳到下标为 1 的位置,跳 1 步,然后跳 3 步到达数组的最后一个位置。如果有多个位置通过跳跃都能够到达最后一个位置,那么我们应该如何进行选择呢?因此,我们可以从左到右遍历数组,选择第一个满足要求的位置。解释: 跳到最后一个位置的最小跳跃数是 2。向前跳转的最大长度。处,你可以跳转到任意。

2023-10-25 11:05:59 145

原创 66 跳跃游戏

解释:无论怎样,总会到达下标为 3 的位置。但该下标的最大跳跃长度是 0 , 所以永远不可能到达最后一个下标。解释:可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 3 步到达最后一个下标。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个下标,如果可以,返回。给你一个非负整数数组。

2023-10-25 11:05:13 367 1

原创 65 编辑距离

inention -> enention (将 ‘i’ 替换为 ‘e’)enention -> exention (将 ‘n’ 替换为 ‘x’)exention -> exection (将 ‘n’ 替换为 ‘c’)horse -> rorse (将 ‘h’ 替换为 ‘r’)intention -> inention (删除 ‘t’)exection -> execution (插入 ‘u’)rorse -> rose (删除 ‘r’)rose -> ros (删除 ‘e’)所使用的最少操作数。

2023-10-24 09:59:36 41

原创 64 最长公共子序列

例如,“ace” 是 “abcde” 的子序列,但 “aec” 不是 “abcde” 的子序列。的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。一个字符串的子序列是指这样一个新的字符串:它是由原字符串在。解释:最长公共子序列是 “ace” ,它的长度为 3。解释:最长公共子序列是 “abc” ,它的长度为 3。解释:两个字符串没有公共子序列,返回 0。,返回这两个字符串的。

2023-10-23 22:01:14 295

空空如也

空空如也

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

TA关注的人

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