自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

rigidwill的博客

每天进步一点的算法小白,希望大家都能心想事成!

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

原创 LeetCode hot 100—最长有效括号

给你一个只包含'('和')'的字符串,找出最长有效(格式正确且连续)括号子串的长度。

2025-04-24 15:32:25 421

原创 LeetCode hot 100—二叉树展开为链表

给你二叉树的根结点rootTreeNoderightnull。

2025-04-24 15:10:19 300

原创 LeetCode hot 100—分割等和子集

给你一个的数组nums。请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。

2025-04-20 20:28:11 669

原创 LeetCode hot 100—合并K个排序链表

给你一个链表数组,每个链表都已经按升序排列。请你将所有链表合并到一个升序链表中,返回合并后的链表。

2025-04-19 23:17:01 511

原创 LeetCode hot 100—寻找旋转排序数组中的最小值

已知一个长度为n的数组,预先按照升序排列,经由1到n次后,得到输入数组。例如,原数组47注意,数组的结果为数组。给你一个元素值的数组nums,它原来是一个升序排列的数组,并按上述情形进行了多次旋转。请你找出并返回数组中的。你必须设计一个时间复杂度为O(log n)的算法解决此问题。

2025-04-19 23:02:11 328

原创 LeetCode hot 100—单词搜索

给定一个m x n二维字符网格board和一个字符串单词word。如果word存在于网格中,返回true;否则,返回false。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。

2025-04-17 21:19:59 610

原创 LeetCode hot 100—括号生成

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

2025-04-17 21:11:36 310

原创 LeetCode hot 100—腐烂的橘子

在给定的m x n网格grid012每分钟,腐烂的橘子的新鲜橘子都会腐烂。返回直到单元格中没有新鲜橘子为止所必须经过的最小分钟数。如果不可能,返回-1。

2025-04-15 20:19:05 650

原创 LeetCode hot 100—搜索二维矩阵

给你一个满足下述两条属性的m x n给你一个整数target,如果target在矩阵中,返回true;否则,返回false。

2025-04-14 21:59:27 527

原创 LeetCode hot 100—最小路径和

设。

2025-04-14 21:51:18 381

原创 LeetCode hot 100—最长公共子序列

给定两个字符串text1和text2,返回这两个字符串的最长的长度。如果不存在,返回0。一个字符串的是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。"ace""abcde""aec""abcde"两个字符串的是这两个字符串所共同拥有的子序列。

2025-04-13 21:19:30 337

原创 华为机试—最大最小路

对于给定的无向无根树,第 i 个节点上有一个权值 wi​。我们定义一条简单路径是好的,当且仅当:路径上的点的点权最小值小于等于 a ,路径上的点的点权最大值大于等于 b。保证给定的 a<b,你需要计算有多少条简单路径是好的。

2025-04-12 21:23:28 338

原创 华为机试—火车进站

火车站一共有 n 辆火车需要入站,每辆火车有一个编号,编号为 1 到 n。同时,也有火车需要出站,由于火车站进出共享一个轨道,所以后入站的火车需要先出站。换句话说,对于某一辆火车,只有在它之后入站的火车都出站了,它才能出站。现在,已经知道了火车的入站顺序,你需要计算,一共有多少种不同的出站顺序。按照字典序从小到大依次输出全部的出站顺序。

2025-04-12 19:17:32 525

原创 LeetCode hot 100—不同路径

一个机器人位于一个m x n网格的左上角 (起始点在下图中标记为 “Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。问总共有多少条不同的路径?

2025-04-12 11:32:35 411

原创 LeetCode hot 100—子集

给你一个整数数组nums,数组中的元素。返回该数组所有可能的子集(幂集)。解集包含重复的子集。你可以按返回解集。

2025-04-11 21:51:02 357

原创 LeetCode hot 100—最长回文子串

dp[i][j]:表示子串s[i...j]是否为回文串,true表示是,false表示不是。

2025-04-11 21:08:42 484

原创 LeetCode hot 100—编辑距离

设。

2025-04-10 16:34:10 1041

原创 LeetCode hot 100—岛屿数量

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

2025-04-10 15:43:01 836

原创 LeetCode hot 100—课程表

使用枚举类型。

2025-04-10 14:20:26 1034

原创 蓝桥杯真题—日期问题

小明正在整理一批历史文献。这些历史文献中出现了很多日期。小明知道这些日期都在 1960 年 1 月 1 日至 2059 年 12 月 31 日。令小明头疼的是,这些日期采用的格式非常不统一,有采用年/月/日的,有采用月/日/年的,还有采用日/月/年的。更加麻烦的是,年份也都省略了前两位,使得文献上的一个日期,存在很多可能的日期与其对应。比如 02/03/04,可能是 2002 年 03 月 04 日、2004 年 02 月 03 日或 2004 年 03 月 02 日。

2025-04-08 21:45:07 511

原创 蓝桥杯真题—路径之谜

小明冒充 X 星球的骑士,进入了一个奇怪的城堡。城堡里边什么都没有,只有方形石头铺成的地面。假设城堡地面是 n×n 个方格。如下图所示。按习俗,骑士要从西北角走到东南角。可以横向或纵向移动,但不能斜着走,也不能跳跃。每走到一个新方格,就要向正北方和正西方各射一箭。(城堡的西墙和北墙内各有 n 个靶子)同一个方格只允许经过一次。但不必走完所有的方格。如果只给出靶子上箭的数目,你能推断出骑士的行走路线吗?有时是可以的,比如上图中的例子。

2025-04-08 21:06:43 626

原创 华为机试—挑7

你需要统计 1 到 n 之间与 7 有关的数字的个数。

2025-04-07 19:03:09 283

原创 华为机试—迷宫问题

有一个 h 行 w 列的网格,我们使用 (i,j) 表示网格中从上往下数第 i 行和从左往右数第 j 列的单元格。每个方格要么是可以通过的空方格 ‘0’ ,要么是不可通过的墙方格 ‘1’ ,特别的,网格的四周都是墙方格,你可以沿着空方格上下左右随意移动:从 (x,y) 向上移动一格即抵达 (x−1,y) 、向下移动一格即抵达 (x+1,y) 、向左移动一格即抵达 (x,y−1) 、向右移动一格即抵达 (x,y+1)。现在,你位于迷宫的入口 (0,0) ,想要前往终点 (h−1,w−1)。

2025-04-07 17:31:23 604

原创 LeetCode hot 100—随机链表的复制

给你一个长度为n的链表,每个节点包含一个额外增加的随机指针random,该指针可以指向链表中的任何节点或空节点。构造这个链表的。深拷贝应该正好由n个节点组成,其中每个新节点的值都设为其对应的原节点的值。新节点的next指针和random指针也都应指向复制链表中的新节点,并使原链表和复制链表中的这些指针能够表示相同的链表状态。。例如,如果原链表中有X和Y两个节点,其中。那么在复制链表中对应的两个节点x和y,同样有。返回复制链表的头节点。用一个由n个节点组成的链表来表示输入/输出中的链表。

2025-04-06 21:00:30 280

原创 LeetCode hot 100—删除链表的倒数第N个节点

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

2025-04-05 21:18:12 497

原创 LeetCode hot 100—数据流的中位数

是有序整数列表中的中间值。如果列表的大小是偶数,则没有中间值,中位数是两个中间值的平均值。3初始化对象。将数据流中的整数num添加到数据结构中。返回到目前为止所有元素的中位数。与实际答案相差10-5以内的答案将被接受。

2025-04-04 11:00:00 1236

原创 LeetCode hot 100—柱状图中最大的矩形

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

2025-04-04 10:30:00 485

原创 LeetCode hot 100—组合总和

给你一个的整数数组candidates和一个目标整数target,找出candidates中可以使数字和为目标数target的 所有,并以列表形式返回。你可以按返回这些组合。candidates中的数字可以。如果至少一个数字的被选数量不同,则两种组合是不同的。对于给定的输入,保证和为target的不同组合数少于150个。

2025-04-03 15:03:30 330

原创 LeetCode hot 100—乘积最大子数组

给你一个整数数组 ,请你找出数组中乘积最大的非空连续 子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。测试用例的答案是一个 32-位 整数。为了找出整数数组中乘积最大的非空连续子数组,可以利用动态规划的思想,同时跟踪当前子数组的最大乘积和最小乘积,以处理负数相乘可能得到更大正数的情况。动态规划状态定义::以当前元素结尾的子数组的最大乘积。:以当前元素结尾的子数组的最小乘积(处理负数情况,因为负数乘以负数可能得到更大的正数)。状态转移:对于每个元素 ,计算当前可能的最大和最小乘积,考虑三种

2025-04-03 14:45:20 331

原创 LeetCode hot 100—最长递增子序列

参数first和last:指定查找的区间(左闭右开,即value:要查找的值。comp(可选):自定义比较函数,用于定义 “小于” 的规则(默认为返回值:指向第一个不小于value的元素的迭代器。如果所有元素都小于value,则返回last。nlognnn。

2025-04-02 22:08:08 651

原创 华为机试—查找两个字符串a,b中的最长公共子串

对于给定的两个字符串 s 和 t,你需要找出它们的最长公共子串。特别地,如果存在多个答案,输出在较短串中最先出现的那个。子串为从原字符串中,连续的选择一段字符(可以全选、可以不选)得到的新字符串。如果字符串 a 的一个子串 a′ 与字符串 b 的一个子串 b′ 完全相等,那么子串 a′,b′ 是字符串 a,b 的一个公共子串。

2025-04-02 14:56:23 382

原创 LeetCode hot 100—电话号码的字母组合

给定一个仅包含数字2-9的字符串,返回所有它能表示的字母组合。答案可以按返回。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。

2025-04-01 16:05:30 312

原创 LeetCode hot 100—分割回文串

给你一个字符串s,请你将s分割成一些 子串,使每个子串都是。返回s所有可能的分割方案。

2025-04-01 15:33:12 411

原创 LeetCode hot 100—二叉搜索树中第K小的元素

给定一个二叉搜索树的根节点root,和一个整数k,请你设计一个算法查找其中第k小的元素(从 1 开始计数)。

2025-03-31 21:47:09 386

原创 华为机试—从单向链表中删除指定值的节点

除此之外,保证输入的链表中不存在重复的节点值。现在,对于给定的链表构造方法和一个额外的整数 k ,你需要先按照上述构造方法构造出链表,随后删除值为 k 的节点,输出剩余的链表。

2025-03-31 21:01:11 225

原创 华为机试—密码验证合格程序

你需要书写一个程序验证给定的密码是否合格。子串子串为从原字符串中,连续的选择一段字符(可以全选、可以不选)得到的新字符串。可见字符集为 ASCII 码在 33 到 126 范围内的可见字符。

2025-03-30 20:03:33 716

原创 LeetCode hot 100—排序链表

给你链表的头结点head,请将其按排列并返回。

2025-03-30 16:23:51 358

原创 LeetCode hot 100—两两交换链表中的节点

给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。

2025-03-29 22:01:39 550

原创 LeetCode hot 100—LRU缓存

腾讯后台开发手撕常考请你设计并实现一个满足 LRU (最近最少使用) 缓存 约束的数据结构。实现 类:函数 和 必须以 的平均时间复杂度运行。为了实现一个满足 LRU(最近最少使用)缓存约束的数据结构,并且保证 和 操作的平均时间复杂度为 O(1),可以结合使用哈希表和双向链表。哈希表用于快速查找键值对,双向链表用于维护键值对的访问顺序。 函数:首先在哈希表中查找 ,如果不存在,返回 -1;如果存在,将该元素移动到链表头部,表示最近访问,并更新哈希表中该元素的迭代器。返回该元素的值。 函数:如

2025-03-28 19:45:47 1041

原创 LeetCode hot 100—单词拆分

给你一个字符串s和一个字符串列表wordDict作为字典。如果可以利用字典中出现的一个或多个单词拼接出s则返回true。不要求字典中出现的单词全部都使用,并且字典中的单词可以重复使用。

2025-03-28 17:33:46 414

空空如也

空空如也

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

TA关注的人

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