自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 leetcode 2874. 有序三元组中的最大值 II 中等

唯一的下标三元组 (0, 1, 2) 的值是一个负数,(nums[0] - nums[1]) * nums[2] = -3。下标三元组 (1, 2, 4) 的值是 (nums[1] - nums[2]) * nums[4] = 133。下标三元组 (0, 2, 4) 的值是 (nums[0] - nums[2]) * nums[4] = 77。如果所有满足条件的三元组的值都是负数,则返回。可以证明不存在值大于 133 的有序下标三元组。可以证明不存在值大于 77 的有序下标三元组。

2025-04-03 01:16:09 73

原创 leetcode 2873. 有序三元组中的最大值 I 简单

唯一的下标三元组 (0, 1, 2) 的值是一个负数,(nums[0] - nums[1]) * nums[2] = -3。下标三元组 (1, 2, 4) 的值是 (nums[1] - nums[2]) * nums[4] = 133。下标三元组 (0, 2, 4) 的值是 (nums[0] - nums[2]) * nums[4] = 77。如果所有满足条件的三元组的值都是负数,则返回。可以证明不存在值大于 133 的有序下标三元组。可以证明不存在值大于 77 的有序下标三元组。

2025-04-02 12:44:08 88

原创 《算法笔记》9.7小节——数据结构专题(2)->堆 问题 C: 合并果子(堆)

接着,将新堆与原先的第三堆合并,又得到新的堆,数目为12,耗费体力为 12。可以证明15为最小的体力耗费值。假定每个果子重量都为1,并且已知果子的种类数和每种果子的数目,你的任务是设计出合并的次序方案,使多多耗费的体力最少,并输出这个最小的体力耗费值。第二行包含n个整数,用空格分隔,第i个整数ai(1 <= ai <= 20000)是第i种果子的数目。每一次合并,多多可以把两堆果子合并到一起,消耗的体力等于两堆果子的重量之和。在一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆。

2025-04-01 09:45:14 188

原创 leetcode 2140. 解决智力问题 中等

总得分为:3 + 2 = 5。没有别的办法获得 5 分或者多于 5 分。总得分为:2 + 5 = 7。没有别的办法获得 7 分或者多于 7 分。- 解决问题 0 :获得 3 分,但接下来 2 个问题都不能解决。- 解决问题 1 :获得 2 分,但接下来 2 个问题都不能解决。,你可以对下一个问题决定使用哪种操作。解决问题 0 和 3 得到最高分。- 解决问题 3 :获得 2 分。- 解决问题 4 :获得 5 分。请你返回这场考试里你能获得的。- 不能解决问题 1 和 2。- 不能解决问题 2 和 3。

2025-04-01 00:49:48 859

原创 《算法笔记》9.7小节——数据结构专题(2)->堆 问题 B: 序列合并

有两个长度都为N的序列A和B,在A和B中各取一个数相加可以得到N2个和,求这N2个和中最小的N个。输出仅有一行,包含N个整数,从小到大输出这N个最小的和,相邻数字之间用空格隔开。第二行N个整数Ai,满足Ai <= Ai+1且Ai <= 10^9。第三行N个整数Bi,满足Bi <= Bi+1且Bi <= 10^9。第一行一个正整数N(1 <= N <= 100000)。

2025-04-01 00:13:39 77

原创 leetcode 2360. 图中的最长环 困难

图中的最长环是:2 -> 4 -> 3 -> 2。这个环的长度为 3 ,所以返回 3。环,如果没有任何环,请返回。一个环指的是起点和终点是。

2025-03-31 13:56:42 255

原创 leetcode 2109. 向字符串添加空格 中等

描述原字符串中需要添加空格的下标。每个空格都应该插入到给定索引处的字符值。下标 8、13 和 15 对应 "Leetcode。下标 1、5、7 和 9 对应 "i。请你添加空格,并返回修改后的字符串。字符串的第一个字符前可以添加空格。earn" 中加粗斜体字符。接着在这些字符前添加空格。hon" 中加粗斜体字符。接着在这些字符前添加空格。

2025-03-31 13:11:58 224

原创 leetcode 2716. 最小化字符串长度 简单

接着删除下标 1 左侧最近的那个 'd'(位于下标 0)以及下标 1 右侧最近的那个 'd'(位于下标 2)。接着删除下标 2 左侧最近的那个 'a'(位于下标 1)以及下标 2 右侧最近的那个 'a'(位于下标 3)。我们可以选择位于下标 1 处的字符 'a' 开始。接着删除下标 1 左侧最近的那个 'a'(位于下标 0)以及下标 1 右侧最近的那个 'a'(位于下标 2)。下标 1 左侧不存在字符 'b' ,但右侧存在一个字符 'b'(位于下标 2),所以会删除位于下标 2 的字符 'b'。

2025-03-31 13:03:36 176

原创 leetcode 2829. k-avoiding 数组的最小总和 中等

设若 k-avoiding 数组为 [1,2,4,5,6] ,其元素总和为 18。正整数组成的数组,如果其中不存在任何求和等于 k 的不同元素对,则称其为。可以证明不存在总和小于 18 的 k-avoiding 数组。可以证明不存在总和小于 3 的 k-avoiding 数组。可以构造数组 [1,2] ,其元素总和为 3。数组的可能的最小总和。

2025-03-26 22:21:24 168

原创 《算法笔记》9.6小节 数据结构专题(2)并查集 问题 D: More is better

【代码】《算法笔记》9.6小节 数据结构专题(2)并查集 问题 D: More is better。

2025-03-25 22:37:55 475

原创 leetcode 2711. 对角线上不同值的数量差 中等

第 4 个图表示对单元格 (1,1) 计算,其中蓝色单元格是位于右下对角线的单元格,红色单元格是位于左上对角线的单元格。- 单元格 (0,0) 的右下对角线包含 [1,1] ,而左上对角线包含 []。- 单元格 (1,1) 的右下对角线包含 [1] ,而左上对角线包含 [1]。- 单元格 (0,0) 的右下对角线包含 [] ,左上对角线包含 []。第 2 个图表示对单元格 (0,0) 计算,其中蓝色单元格是位于右下对角线的单元格。是从最顶行或最左列的某个单元格开始,向右下方向走到矩阵末尾的对角线。

2025-03-25 09:50:23 314

原创 《算法笔记》9.5小节——数据结构专题(2)->平衡二叉树(AVL) 问题 A: 算法9-9~9-12:平衡二叉树的基本操作

若将二叉树上结点的平衡因子定义为该结点的左子树深度减去它的右子树的深度,则平衡二叉树上的所有结点的平衡因子只可能为-1、0和1。在本题中,首先需要按照题目描述中的算法完成平衡二叉树的构造过程,之后需要通过在平衡二叉树中的不断向下查找,将需要查询的值与当前节点的值进行比较,直到确定被查询的值是否存在。通过课本中的性能分析部分,不难发现平衡二叉树的查找、插入、删除等操作的时间复杂度均为O(log2n),这是通过利用旋转操作使二叉树保持平衡状态而保证的。第三行包含k个用空格隔开的正整数,表示k次查询的目标。

2025-03-24 19:22:28 265

原创 leetcode 2255. 统计是给定字符串前缀的字符串数目 简单

注意,相同的字符串可能在 words 中出现多次,它们应该被计数多次。所以 words 中是字符串 s 前缀的字符串数目为 3。"a" ,"ab" 和 "abc"。是一个字符串中的连续一段字符序列。是出现在字符串开头的子字符串。两个字符串都是 s 的前缀。

2025-03-24 10:54:48 219

原创 leetcode 2116. 判断一个括号字符串是否有效 中等

locked[1] == '1' 和 locked[3] == '1' ,所以我们无法改变 s[1] 或者 s[3]。我们可以将 s[0] 和 s[4] 变为 '(' ,不改变 s[2] 和 s[5] ,使 s 变为有效字符串。但无论将 s[0] 变为 '(' 或者 ')' 都无法使 s 变为有效字符串。我们将 s[6] 和 s[8] 改为 ')' 使 s 变为有效字符串。我们不需要做任何改变,因为 s 已经是有效字符串了。locked 允许我们改变 s[6] 和 s[8]。是一个二进制字符串,只包含。

2025-03-23 12:08:22 384

原创 leetcode 2680. 最大或值 中等

如果我们对下标为 1 的元素进行操作,新的数组为 [12,18]。此时得到最优答案为 12 和 18 的按位或运算的结果,也就是 30。如果我们对下标 0 处的元素进行操作,得到新数组 [32,1,2]。此时得到最优答案为 32|1|2 = 35。每一次操作中,你可以选择一个数并将它乘。

2025-03-21 11:31:47 262

原创 《算法笔记》9.3小节——数据结构专题(2)->树的遍历 问题 B: 树的高度

后面若干行,每行两个整数a b,表示b是a的子节点。一棵树有n个节点,其中1号节点为根节点。求这棵树的高度(根节点为第1层)第一行是整数n,表示节点数。

2025-03-19 13:22:35 258

原创 《算法笔记》9.3小节——数据结构专题(2)->树的遍历 问题 A: 树查找

每组输入一个n(1<=n<=1000),然后将树中的这n个节点依次输入,再输入一个d代表深度。有一棵树,输出某一深度的所有节点,有则输出这些节点,无则输出EMPTY。输出该树中第d层得所有节点,节点间用空格隔开,最后一个节点后没有空格。

2025-03-19 12:45:25 313

原创 《算法笔记》9.4小节——数据结构专题(2)->二叉查找树(BST) 问题 B: 二叉搜索树

接下去一行是一个序列,序列长度小于10,包含(0~9)的数字,没有重复数字,根据这个序列可以构造出一颗二叉搜索树。接下去的n行有n个序列,每个序列格式跟第一个序列一样,请判断这两个序列是否能组成同一颗二叉搜索树。开始一个数n,(1<=n<=20) 表示有n个需要判断,n= 0 的时候输入结束。如果序列相同则输出YES,否则输出NO。判断两序列是否为同一二叉搜索树序列。

2025-03-19 12:26:37 149

原创 《算法笔记》9.4小节——数据结构专题(2)->二叉查找树(BST) 问题 A: 二叉排序树

可能有多组测试数据,对于每组数据,将题目所给数据建立一个二叉排序树,并对二叉排序树进行前序、中序和后序遍历。每种遍历结果输出一行。每行最后一个数据之后有一个空格。输入第一行包括一个整数n(1<=n<=100)。接下来的一行包括n个整数。输入一系列整数,建立二叉排序数,并进行前序,中序,后序遍历。

2025-03-19 11:26:12 312

原创 leetcode 2610. 转换二维数组 中等

nums 中的所有元素都有用到,并且每一行都由不同的整数组成,所以这是一个符合题目要求的答案。nums 中的所有元素都不同,所以我们可以将其全部保存在二维数组中的第一行。如果存在多种答案,则返回其中任何一种。请注意,二维数组的每一行上可以存在不同数量的元素。可以证明无法创建少于三行且符合题目要求的二维数组。

2025-03-19 11:11:39 166

原创 《算法笔记》9.2小节——数据结构专题(2)->二叉树的遍历 问题 D: 二叉树遍历

其中“#”表示的是空格,空格字符代表空树。建立起此二叉树以后,再对二叉树进行中序遍历,输出遍历结果。编一个程序,读入用户输入的一串先序遍历字符串,根据此字符串建立一个二叉树(以指针方式存储)。输出将输入字符串建立二叉树后中序遍历的序列,每个字符后面都有一个空格。输入包括1行字符串,长度不超过100。可能有多组测试数据,对于每组数据,每个输出结果占一行。

2025-03-18 11:26:08 347

原创 《算法笔记》9.2小节——数据结构专题(2)->二叉树的遍历 问题 B: 二叉树

比如,n = 12,m = 3那么上图中的结点13,14,15以及后面的结点都是不存在的,结点m所在子树中包括的结点有3,6,7,12,因此结点m的所在子树中共有4个结点。输入数据包括多行,每行给出一组测试数据,包括两个整数m,n (1 <= m <= n <= 1000000000)。最后一组测试数据中包括两个0,表示输入的结束,这组数据不用处理。现在的问题是,结点m所在的子树中一共包括多少个结点。对于每一组测试数据,输出一行,该行包含一个整数,给出结点m所在子树中包括的结点的数目。

2025-03-18 10:48:59 386

原创 《算法笔记》9.2小节——数据结构专题(2)->二叉树的遍历 问题 A: 复原二叉树(同问题 C: 二叉树遍历)

输入包含多组测试数据。每组输入包含两个字符串,分别表示二叉树的前序遍历和中序遍历结果。每个字符串由不重复的大写字母组成。小明在做数据结构的作业,其中一题是给你一棵二叉树的前序遍历和中序遍历结果,要求你写出这棵二叉树的后序遍历结果。对于每组输入,输出对应的二叉树的后续遍历结果。

2025-03-18 10:36:56 285

原创 leetcode 2614. 对角线上的质数 简单

数字 1、3、9、10 和 17 是所有满足"位于至少一条对角线上"的数字。由于 17 是最大的质数,故返回 17。数字 1、3、6、9 和 11 是所有 "位于至少一条对角线上" 的数字。由于 11 是最大的质数,故返回 11。如果任一对角线上均不存在质数,返回。在上图中,一条对角线是。

2025-03-18 10:18:32 190

原创 leetcode 1963. 使字符串平衡的最小交换次数 中等

交换下标 0 和下标 4 对应的括号,s = "[]][]["。- 交换下标 1 和下标 5 对应的括号,s = "[[][]]"。交换下标 0 和下标 3 对应的括号,可以使字符串变成平衡字符串。只有能满足下述所有条件的字符串才能称为。最终字符串变成 "[[][]]"。最终字符串变成 "[[]]"。这个字符串已经是平衡字符串。两个下标所对应的括号。

2025-03-17 16:31:25 236

原创 《算法笔记》8.2小节——搜索专题->广度优先搜索(BFS)问题 E: 【宽搜入门】巧妙取量

有三个容器,容量分别为 a,b,c(a> b > c ),一开始a装满油,现在问是否只靠abc三个容器量出k升油。如果能就输出“yes”,并且说明最少倒几次,否则输出“no”。例如:10升油在10升的容器中,另有两个7升和3升的空容器,要求用这三个容器倒油,使得最后在abc三个容器中有一个刚好存有5升油,问最少的倒油次数是多少?(每次倒油,A容器倒到B容器,或者A内的油倒完,或者B容器倒满。输入a,b,c, k四个正整数( 100 ≥ a > b > c≥1 , 1≤k< 100 )

2025-03-17 16:12:16 223

原创 《算法笔记》8.2小节——搜索专题->广度优先搜索(BFS)问题 D: 【宽搜入门】魔板

可以用颜色的序列来表示一种魔板状态,规定从魔板的左上角开始,沿顺时针方向依次取出整数,构成一个颜色序列。对于上图的魔板状态,我们用序列(1,2,3,4,5,6,7,8)来表示。在成功地发明了魔方之后,鲁比克先生发明了它的二维版本,称作魔板。Line 2: 在字典序中最早出现的操作序列,用字符串表示,除最后一行外,每行输出60个字符。只有一行,包括8个整数,用空格分开(这些整数在范围 1——8 之间),表示目标状态。你要编程计算用最少的基本操作完成基本状态到目标状态的转换,输出基本操作序列。

2025-03-16 23:42:43 292

原创 《算法笔记》8.2小节——搜索专题->广度优先搜索(BFS)问题 C: 【宽搜入门】8数码难题

输入:第一个3*3的矩阵是原始状态,第二个3*3的矩阵是目标状态。初始状态的步数就算1,哈哈。输出:移动所用最少的步数。

2025-03-15 11:10:38 175

原创 leetcode 3110. 字符串的分数 简单

【代码】leetcode 3110. 字符串的分数 简单。

2025-03-15 10:10:45 159

原创 leetcode 3340. 检查平衡字符串 简单

如果偶数下标处的数字之和等于奇数下标处的数字之和,则认为该数字字符串是一个。给你一个仅由数字 0 - 9 组成的字符串。

2025-03-14 12:32:51 161

原创 《算法笔记》8.2小节——搜索专题->广度优先搜索(BFS)问题 B: DFS or BFS?

说好了,题目不黑人。给你一个8*8的矩阵,你的初始位置是左下角方格(用'U’表示),你的目标位置是右上角的方格(用'A'表示),其余的62个方格,如果是'.',表示这个方格为空,如果是'S',表示这个方格有一块大石头。

2025-03-14 12:30:40 188

原创 《算法笔记》8.2小节——搜索专题->广度优先搜索(BFS)问题 A: Jugs

【代码】《算法笔记》8.2小节——搜索专题->广度优先搜索(BFS)问题 A: Jugs。

2025-03-13 23:19:28 610

原创 leetcode 3306. 元音辅音字符串计数 II 中等

唯一一个包含所有元音字母且不含辅音字母的子字符串是。的 子字符串 中,每个元音字母(不存在包含所有元音字母的子字符串。个辅音字母的子字符串的总数。

2025-03-13 18:12:14 858

原创 《算法笔记》8.1小节——搜索专题->深度优先搜索(DFS)问题 F: 【递归入门】走迷宫

栈是常用的一种数据结构,有n令元素在栈顶端一侧等待进栈,栈顶端另一侧是出栈序列。你已经知道栈的操作有两种:push和pop,前者是将一个元素进栈,后者是将栈顶元素弹出。请你编程求出对于给定的n,计算并输出由操作数序列1,2,…用一个过程采模拟进出栈的过程,可以通过循环加递归来实现回溯:重复这样的过程,如果可以进栈则进一个元素,如果可以出栈则出一个元素。先了解栈的两种基本操作,进栈push就是将元素放入栈顶,栈顶指针上移一位,等待进栈队列也上移一位,出栈pop是将栈顶元素弹出,同时栈顶指针下移一位。

2025-03-12 22:41:23 266

原创 《算法笔记》8.1小节——搜索专题->深度优先搜索(DFS)问题 F: 【递归入门】走迷宫

对应的位置为:(x, y-1),(x-1, y),(x, y+1),(x+1, y)。所以每个点都要试探四个方向,如果没有走过(数组b相应的点的值为0)且可以走(数组a相应点的值为1)同时不越界,就走过去,再看有没有到达终点,到了终点则输出所走的路,否则继续走下去。第一行是两个数n,m( 1 < n , m < 15 ),接下来是m行n列由1和0组成的数据,最后两行是起始点和结束点。所有可行的路径,描述一个点时用(x,y)的形式,除开始点外,其他的都要用“->”表示方向。如果没有一条可行的路则输出-1。

2025-03-12 21:19:06 335

原创 leetcode 3305. 元音辅音字符串计数 I 中等

唯一一个包含所有元音字母且不含辅音字母的子字符串是。的 子字符串 中,每个元音字母(不存在包含所有元音字母的子字符串。个辅音字母的子字符串的总数。

2025-03-12 17:58:03 203

原创 《算法笔记》8.1小节——搜索专题->深度优先搜索(DFS)问题 D: 【递归入门】n皇后 问题(原始的8皇后问题)

会下国际象棋的人都很清楚:皇后可以在横、竖、斜线上不限步数地吃掉其他棋子。如何将8个皇后放在棋盘上(有8 * 8个方格),使它们谁也不能被吃掉!这就是著名的八皇后问题。每行输出对应一种方案,按字典序输出所有方案。每种方案顺序输出皇后所在的列号,相邻两数之间用空格隔开。如果一组可行方案都没有,输出“no solute!一个整数n( 1 < = n < = 10 )

2025-03-11 13:18:56 159

原创 《算法笔记》8.1小节——搜索专题->深度优先搜索(DFS)问题 C: 【递归入门】组合+判断素数

第二行n个整数:x1,x2,…,xn (1<=xi<=5000000)从 n 个整数中任选 k 个整数相加,可分别得到一系列的和。第一行两个整数:n , k (1<=n<=20,k<n)例如上例,只有一种的和为素数:3+7+19=29。上面的代码比较繁琐,下面给出AI优化过的代码。现在,要求你计算出和为素数共有多少种。已知 n 个整数b1,b2,…一个整数(满足条件的方案数)。以及一个整数 k(k<n)。

2025-03-11 11:16:02 231

原创 leetcode 2595. 奇偶位数 简单

请注意,在数字的二进制表示中,位下标的顺序。在下标 1,4,5 对应的值为 1。只有下标 1 对应的值为 1。的二进制形式(下标从。的二进制形式(下标从。50 的二进制表示是。

2025-03-11 10:07:42 168

原创 leetcode 2012. 数组美丽值求和 中等

nums[1] 的美丽值等于 2。- nums[1] 的美丽值等于 1。- nums[2] 的美丽值等于 0。- nums[1] 的美丽值等于 0。

2025-03-11 09:57:28 191

空空如也

空空如也

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

TA关注的人

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