自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 最小化数对的最大差值

给你一个下标从 0 开始的整数数组 nums 和一个整数 p。请你从 nums 中找到 p 个下标对,每个下标对对应数值取差值,你需要使得这 p 个差值的。同时,你需要确保每个下标在这 p 个下标对中最多出现一次。对于一个下标对 i 和 j ,这一对的差值为 |nums[i] - nums[j]| ,其中 |x| 表示 x 的。请你返回 p 个下标对对应数值的。示例 1:输入:nums = [10,1,2,7,1,3], p = 2输出:1。

2023-04-09 22:19:58 322

原创 回文链表(链表)

给你一个单链表的头节点 head ,请你判断该链表是否为回文链表。如果是,返回 true;否则,返回 false。示例 1:输入:head = [1,2,2,1]输出:true示例 2:输入:head = [1,2]输出:false提示:链表中节点数目在范围[1, 10^5] 内。

2023-04-07 22:28:29 91

原创 最长公共前缀(字符串)

编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例 1:输入:strs = [“flower”,“flow”,“flight”]输出:“fl”示例 2:输入:strs = [“dog”,“racecar”,“car”]输出:“”解释:输入不存在公共前缀。提示:strs[i] 仅由小写英文字母组成。

2023-04-07 17:24:41 90

原创 外观数列(字符串)

给定一个正整数 n ,输出外观数列的第 n 项。「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述。你可以将其视作是由递归公式定义的数字字符串序列:countAndSay(n) 是对 countAndSay(n-1) 的描述,然后转换成另一个数字字符串。第一项是数字 1描述前一项,这个数是 1 即 “ 一 个 1 ”,记作 “11”描述前一项,这个数是 11 即 “ 二 个 1 ” ,记作 “21”

2023-04-07 17:16:34 156

原创 实现 strStr()(字符串)

给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标(下标从 0 开始)。如果 needle 不是 haystack 的一部分,则返回 -1。示例 1:输入:haystack = “sadbutsad”, needle = “sad”输出:0解释:“sad” 在下标 0 和 6 处匹配。第一个匹配项的下标是 0 ,所以返回 0。

2023-04-07 16:47:40 41

原创 字符串转换整数(atoi)

请你来实现一个 myAtoi(string s) 函数,使其能将字符串转换成一个 32 位有符号整数(类似 C/C++ 中的 atoi 函数)。函数 myAtoi(string s) 的算法如下:读入字符串并丢弃无用的前导空格检查下一个字符(假设还未到字符末尾)为正还是负号,读取该字符(如果有)。确定最终结果是负数还是正数。如果两者都不存在,则假定结果为正。读入下一个字符,直到到达下一个非数字字符或到达输入的结尾。字符串的其余部分将被忽略。

2023-04-07 11:48:48 143

原创 验证回文串(字符串)

如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后,短语正着读和反着读都一样。则可以认为该短语是一个。字母和数字都属于字母数字字符。给你一个字符串 s,如果它是,返回 true;否则,返回 false。示例 1:输入: s = “A man, a plan, a canal: Panama”输出:true解释:“amanaplanacanalpanama” 是回文串。示例 2:输入:s = “race a car”输出:false。

2023-04-07 11:26:41 358

原创 有效的字母异位词(字符串)

给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。示例 1:输入: s = “anagram”, t = “nagaram”输出: true示例 2:输入: s = “rat”, t = “car”输出: false提示:s 和 t 仅包含小写字母。

2023-04-07 10:46:50 677

原创 字符串中的第一个唯一字符(字符串)

给定一个字符串 s ,找到 它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。示例 1:输入: s = “leetcode”输出: 0示例 2:输入: s = “loveleetcode”输出: 2示例 3:输入: s = “aabb”输出: -1提示:s 只包含小写字母。

2023-04-07 09:58:53 648

原创 整数反转(字符串)

给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。

2023-04-06 23:05:15 706

原创 反转字符串(字符串)

编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。不要给另外的数组分配额外的空间,你必须、使用 O(1) 的额外空间解决这一问题。示例 1:输入:s = [“h”,“e”,“l”,“l”,“o”]输出:[“o”,“l”,“l”,“e”,“h”]示例 2:输入:s = [“H”,“a”,“n”,“n”,“a”,“h”]输出:[“h”,“a”,“n”,“n”,“a”,“H”]提示:s[i] 都是 ASCII 码表中的可打印字符。

2023-04-06 22:36:20 582

原创 旋转图像(数组)

给定一个 n × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。示例 1:输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]输出:[[7,4,1],[8,5,2],[9,6,3]]示例 2:输入:matrix = [[5,1,9,11],[2,4,8,10],[13,3,6,7],[15,14,12,16]]

2023-04-06 22:23:00 660

原创 有效的数独(数组)

请你判断一个 9 x 9 的数独是否有效。只需要 根据以下规则 ,验证已经填入的数字是否有效即可。数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。(请参考示例图)注意:一个有效的数独(部分已被填充)不一定是可解的。只需要根据以上规则,验证已经填入的数字是否有效即可。空白格用 ‘.’ 表示。

2023-04-06 18:25:44 799

原创 两数之和(数组)

给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出target 的那整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。示例 1:输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1]。示例 2:输入:nums = [3,2,4], target = 6。

2023-04-06 15:56:29 297

原创 移动零(数组)

给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。请注意 ,必须在不复制数组的情况下原地对数组进行操作。

2023-04-06 10:02:00 504

原创 空间(蓝桥杯)

本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。小蓝准备用 256MB 的内存空间开一个数组,数组的每个元素都是 32 位 二进制整数,如果不考虑程序占用的空间和维护内存需要的辅助空间,请问 256MB 的空间可以存储多少个 32 位二进制整数?:1s: 128M。

2023-02-25 22:14:33 35

原创 1247. 交换字符使得字符串相同

有两个长度相同的字符串 s1 和 s2,且它们其中 只含有 字符 “x” 和 “y”,你需要通过「交换字符」的方式使这两个字符串相同。每次「交换字符」的时候,你都可以在两个字符串中各选一个字符进行交换。交换只能发生在两个不同的字符串之间,绝对不能发生在同一个字符串内部。也就是说,我们可以交换 s1[i] 和 s2[j],但不能交换 s1[i] 和 s1[j]。最后,请你返回使 s1 和 s2 相同的最小交换次数,如果没有方法能够使得这两个字符串相同,则返回 -1。:1。

2023-02-25 21:49:05 47

原创 购物单(暴力)

小明刚刚找到工作,老板人很好,只是老板夫人很爱购物。小明很厌烦,但又不好推辞。需要说明的是,88 折指的是按标价的 88 计算,而 8折是按 80 计算,余者类推。现在小明很心烦,请你帮他计算一下,需要从取款机上取多少现金,才能搞定这次购物。小明也有个怪癖,不到万不得已,从不刷卡,直接现金搞定。**** 180.90 88折。**** 100.30 88折。**** 270.62 8折。**** 115.87 88折。

2023-02-24 22:17:24 34

原创 加一(数组)

给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。:[1,2,4]:输入数组表示数字 123。:[4,3,2,2]:输入数组表示数字 4321。:[1]

2023-02-24 21:52:31 115

原创 2357. 使数组中所有元素都等于零

给你一个非负整数数组 nums。在一步操作中,你必须:选出一个正整数 x ,x 需要小于或等于 nums 中 最小 的 非零 元素。nums 中的每个正整数都减去 x。返回使 nums 中所有元素都等于 0 需要的 最少 操作数。:3第一步操作:选出 x = 1 ,之后 nums = [0,4,0,2,4]。第二步操作:选出 x = 2 ,之后 nums = [0,2,0,0,2]。第三步操作:选出 x = 2 ,之后 nums = [0,0,0,0,0]。:0。

2023-02-24 21:27:38 256

转载 1138. 字母板上的路径

我们从一块字母板上的位置 (0, 0) 出发,该坐标对应的字符为 board[0][0]。在本题里,字母板为board = [“abcde”, “fghij”, “klmno”, “pqrst”, “uvwxy”, “z”],如下所示。我们可以按下面的指令规则行动:如果方格存在,‘U’ 意味着将我们的位置上移一行;如果方格存在,‘D’ 意味着将我们的位置下移一行;如果方格存在,‘L’ 意味着将我们的位置左移一列;如果方格存在,‘R’ 意味着将我们的位置右移一列;

2023-02-12 17:01:04 33

原创 数字三角形

那求最大值则是当前数字加上它上一层的左边的数字或右边的数字,就看哪边的数字大。因为题目中说到向左下走的次数与向右下走的次数相差不能超过1。输入的第一行包含一个整数 N (1≤N≤100),表示三角形的行数。数字三角形上的数都是 0 至 100 之间的整数。从三角形的顶部到底部有很多条不同的路径。对于每条路径,把路径上面的数加起来可以得到一个和,你的任务就是找到最大的和。路径上的每一步只能从一个数走到下一层和它最近的左边的那个数或者右 边的那个数。此外,向左下走的次数与向右下走的次数相差不能超过 1。

2023-02-11 17:19:01 57

转载 2335. 装满杯子需要的最短总时长

现有一台饮水机,可以制备冷水、温水和热水。每秒钟,可以装满 2 杯 不同 类型的水或者 1 杯任意类型的水。给你一个下标从 0 开始、长度为 3 的整数数组 amount ,其中 amount[0]、amount[1] 和 amount[2] 分别表示需要装满冷水、温水和热水的杯子数量。返回装满所有杯子所需的 最少 秒数。:4:下面给出一种方案:第 1 秒:装满一杯冷水和一杯温水。第 2 秒:装满一杯温水和一杯热水。第 3 秒:装满一杯温水和一杯热水。第 4 秒:装满一杯温水。

2023-02-11 16:34:15 29

原创 1797. 设计一个验证系统

你需要设计一个包含验证码的验证系统。每一次验证中,用户会收到一个新的验证码,这个验证码在 currentTime 时刻之后 timeToLive 秒过期。如果验证码被更新了,那么它会在 currentTime (可能与之前的 currentTime 不同)时刻延长 timeToLive 秒。

2023-02-09 17:37:22 35

原创 1604. 警告一小时内使用相同员工卡大于等于三次的人

力扣公司的员工都使用员工卡来开办公室的门。每当一个员工使用一次他的员工卡,安保系统会记录下员工的名字和使用时间。如果一个员工在一小时时间内使用员工卡的次数大于等于三次,这个系统会自动发布一个 警告。给你字符串数组 keyName 和 keyTime ,其中 [keyName[i], keyTime[i]] 对应一个人的名字和他在 某一天 内使用员工卡的时间。使用时间的格式是 24小时制 ,形如 “HH:MM” ,比方说 “23:51” 和 “09:49”。

2023-02-07 11:39:17 59

原创 2331. 计算布尔二叉树的值

给你一棵 完整二叉树 的根,这棵树有以下特征:叶子节点 要么值为 0 要么值为 1 ,其中 0 表示 False ,1 表示 True。非叶子节点 要么值为 2 要么值为 3 ,其中 2 表示逻辑或 OR ,3 表示逻辑与 AND。计算 一个节点的值方式如下:如果节点是个叶子节点,那么节点的 值 为它本身,即 True 或者 False。否则,计算 两个孩子的节点值,然后将该节点的运算符对两个孩子值进行 运算。返回根节点 root 的布尔运算值。

2023-02-06 11:05:26 67

原创 门牌制作

这条街一共有 2020 位住户,门牌号从 1 到 2020编号。小蓝制作门牌的方法是先制作0 到 9 这几个数字字符,最后根据需要将字符粘贴到门牌上,例如门牌 1017 需要依次粘贴字符1、0、1、7,即需要 1 个字符0,2 个字符 1,1 个字符 7。请问要制作所有的 1 到 2020 号门牌,总共需要多少个字符2?本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。小蓝要为一条街的住户制作门牌号。

2023-02-05 20:27:16 58

原创 回文日期(2020)

题目描述2020 年春节期间,有一个特殊的日期引起了大家的注意:2020 年 2 月 2 日。因为如果将这个日期按 “yyyymmdd” 的格式写成一个 8 位数是 20200202,恰好是一个回文数。我们称这样的日期是回文日期。有人表示 20200202 是 “千年一遇” 的特殊日子。对此小明很不认同,因为不到 2 年之后就是下一个回文日期:20211202 即 2021 年 12 月 2 日。也有人表示 20200202 并不仅仅是一个回文日期,还是一个 ABABBABA 型的回文日期。

2023-02-05 10:24:41 81

原创 构造出连续值的最大数目

给你一个长度为 n 的整数数组 coins ,它代表你拥有的 n 个硬币。第 i 个硬币的值为 coins[i]。如果你从这些硬币中选出一部分硬币,它们的和为 x ,那么称,你可以 构造 出 x。请返回从 0 开始(包括 0 ),你最多能 构造 出多少个连续整数。你可能有多个相同值的硬币。:2:8。

2023-02-04 10:59:08 73

原创 最短路(无向图)

题目描述本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。G 是一个无向图,其中蓝色边的长度是 1、橘色边的长度是 2、绿色边的长度是 3。则从 A 到 S 的最短距离是多少?

2023-02-03 22:33:31 124

原创 成绩统计

题目描述小蓝给学生们组织了一场考试,卷面总分为 100 分,每个学生的得分都是一个 0 到 100 的整数。如果得分至少是 60 分,则称为及格。如果得分至少为 85 分,则称为优秀。请计算及格率和优秀率,用百分数表示,百分号前的部分四舍五入保留整 数。输入描述输入的第一行包含一个整数 n (1≤n≤10^4),表示考试人数。接下来n 行,每行包含一个 0 至 100 的整数,表示一个学生的得分。输出两行,每行一个百分数,分别表示及格率和优秀率。百分号前的部分 四舍五入保留整数。71%

2023-02-03 22:01:03 51

转载 1145. 二叉树着色游戏

有两位极客玩家参与了一场「二叉树着色」的游戏。游戏中,给出二叉树的根节点 root,树上总共有 n 个节点,且 n 为奇数,其中每个节点上的值从 1 到 n 各不相同。最开始时:「一号」玩家从 [1, n] 中取一个值 x(1

2023-02-03 21:09:15 35

转载 1129. 颜色交替的最短路径

在一个有向图中,节点分别标记为 0, 1, …, n-1。图中每条边为红色或者蓝色,且存在自环或平行边。red_edges 中的每一个 [i, j] 对表示从节点 i 到节点 j 的红色有向边。类似地,blue_edges 中的每一个 [i, j] 对表示从节点 i 到节点 j 的蓝色有向边。返回长度为 n 的数组 answer,其中 answer[X] 是从节点 0 到节点 X 的红色边和蓝色边交替出现的最短路径的长度。如果不存在这样的路径,那么 answer[x] = -1。

2023-02-02 12:11:19 35

原创 单词分析

题目描述小蓝正在学习一门神奇的语言,这门语言中的单词都是由小写英文字母组 成,有些单词很长,远远超过正常英文单词的长度。小蓝学了很长时间也记不住一些单词,他准备不再完全记忆这些单词,而是根据单词中哪个字母出现得最多来分辨单词。现在,请你帮助小蓝,给了一个单词后,帮助他找到出现最多的字母和这 个字母出现的次数。输入一行包含一个单词,单词只由小写英文字母组成。对于所有的评测用例,输入的单词长度不超过 1000。输出两行,第一行包含一个英文字母,表示单词中出现得最多的字母是哪 个。

2023-02-01 21:17:32 34

原创 2325. 解密消息

给你字符串 key 和 message ,分别表示一个加密密钥和一段加密消息。解密 message 的步骤如下:使用 key 中 26 个英文小写字母第一次出现的顺序作为替换表中的字母 顺序。将替换表与普通英文字母表对齐,形成对照表。按照对照表 替换 message 中的每个字母。空格 ’ ’ 保持不变。

2023-02-01 11:22:03 78

原创 判断矩阵是否是一个 X 矩阵

如果一个正方形矩阵满足下述 全部 条件,则称之为一个 X 矩阵 :矩阵对角线上的所有元素都 不是 0矩阵中所有其他元素都是 0给你一个大小为 n x n 的二维整数数组 grid ,表示一个正方形矩阵。如果 grid 是一个 X 矩阵 ,返回 true;否则,返回 false。:true:矩阵如上图所示。X 矩阵应该满足:绿色元素(对角线上)都不是 0 ,红色元素都是 0。因此,grid 是一个 X 矩阵。:false:矩阵如上图所示。

2023-01-31 22:16:03 128

原创 生成平衡数组的方案数

给你一个整数数组 nums。你需要选择一个下标(下标从开始)并删除对应的元素。请注意剩下元素的下标可能会因为删除操作而发生改变。比方说,如果 nums = [6,1,7,4,1] ,那么:选择删除下标 1 ,剩下的数组为 nums = [6,7,4,1]。选择删除下标 2 ,剩下的数组为 nums = [6,1,4,1]。选择删除下标 4 ,剩下的数组为 nums = [6,1,7,4]。如果一个数组满足奇数下标元素的和与偶数下标元素的和相等,该数组就是一个。

2023-01-28 22:57:58 39

原创 1813. 句子相似性 III

一个句子是由一些单词与它们之间的单个空格组成,且句子的开头和结尾没有多余空格。比方说,“Hello World” ,“HELLO” ,“hello world hello world” 都是句子。每个单词都包含大写和小写英文字母。如果两个句子 sentence1 和 sentence2 ,可以通过往其中一个句子插入一个任意的句子()而得到另一个句子,那么我们称这两个句子是。

2023-01-18 21:49:27 33

原创 重排字符形成目标字符串

给你两个下标从 0 开始的字符串 s 和 target。你可以从 s 取出一些字符并将其重排,得到若干新的字符串。从 s 中取出字符并重新排列,返回可以形成 target 的 最大 副本数。:2对于 “code” 的第 1 个副本,选取下标为 4 、5 、6 和 7 的字符。对于 “code” 的第 2 个副本,选取下标为 17 、18 、19 和 20 的字符。形成的字符串分别是 “ecod” 和 “code” ,都可以重排为 “code”。

2023-01-13 22:49:48 63

原创 两个数组的交集(数组)

给你两个整数数组 nums1 和 nums2 ,请你以数组形式返回两数组的交集。返回结果中每个元素出现的次数,应与元素在两个数组中都出现的次数一致(如果出现次数不一致,则考虑取较小值)。可以不考虑输出结果的顺序。

2023-01-13 21:10:43 91

数据结构综合课程设计(内附源码)

共7个题目:单位员工通讯录管理系统、停车场管理、哈夫曼编码/译码系统、校园导游咨询、药店的药品销售统计系统、一元稀疏多项式的计算、二叉排序树的基本操作。内容有问题描述、需求分析、算法设计、调试分析、实验结果。最后附录是源代码。

2023-04-07

数据结构(C语言版)严蔚敏-课后习题答案

数据结构课后习题答案

2023-04-07

空空如也

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

TA关注的人

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