LeetCode
文章平均质量分 52
LeetCode
谁吃薄荷糖
CSDN “博客专家”、
CSDN “2021年度博客之星 TOP 50-100(排名不分先后)”、
CSDN“每日一练·马桶打卡”发起人、
工程师职称(计算机专业)、
软件设计师(软考中级)
展开
-
「 每日一练,快乐水题 」14. 最长公共前缀
链接:https://leetcode.cn/problems/longest-common-prefix。输入:strs = [“flower”,“flow”,“flight”]著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。输入:strs = [“dog”,“racecar”,“car”]编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。strs[i] 仅由小写英文字母组成。来源:力扣(LeetCode)解释:输入不存在公共前缀。原创 2023-06-01 19:43:58 · 842 阅读 · 2 评论 -
「 每日一练,快乐水题 」1945. 字符串转化后的各位数字之和
首先,用字母在字母表中的位置替换该字母,将 s 转化 为一个整数(也就是,‘a’ 用 1 替换,‘b’ 用 2 替换,…‘z’ 用 26 替换)。接着,将整数 转换 为其 各位数字之和。转化:“zbax” ➝ “(26)(2)(1)(24)” ➝ “262124” ➝ 262124。转换 #1:262124 ➝ 2 + 6 + 2 + 1 + 2 + 4 ➝ 17。给你一个由小写字母组成的字符串 s ,以及一个整数 k。转换 #2:17 ➝ 1 + 7 ➝ 8。返回执行上述操作后得到的结果整数。原创 2022-12-15 20:44:58 · 935 阅读 · 10 评论 -
「 每日一练,快乐水题 」1832. 判断句子是否为全字母句
给你一个仅由小写英文字母组成的字符串 sentence ,请你判断 sentence 是否为 全字母句。全字母句 指包含英语字母表中每个字母至少一次的句子。如果是,返回 true;否则,返回 false。原创 2022-12-13 23:30:00 · 896 阅读 · 4 评论 -
「 每日一练,快乐水题 」1812. 判断国际象棋棋盘中一个格子的颜色
给你一个坐标 coordinates ,它是一个字符串,表示国际象棋棋盘中一个格子的坐标。下图是国际象棋棋盘示意图。给定坐标一定代表国际象棋棋盘上一个存在的格子。坐标第一个字符是字母,第二个字符是数字。如果所给格子的颜色是白色,请你返回 true,如果是黑色,请返回 false。原创 2022-12-08 23:00:00 · 1056 阅读 · 4 评论 -
「 每日一练,快乐水题 」1796. 字符串中第二大的数字
1796. 字符串中第二大的数字给你一个混合字符串 s ,请你返回 s 中 第二大 的数字,如果不存在第二大的数字,请你返回 -1 。混合字符串 由小写英文字母和数字组成。🔵结果展示:原创 2022-12-03 20:00:00 · 1055 阅读 · 0 评论 -
「 每日一练,快乐水题 」1704. 判断字符串的两半是否相似
两个字符串 相似 的前提是它们都含有相同数目的元音(‘a’,‘e’,‘i’,‘o’,‘u’,‘A’,‘E’,‘I’,‘O’,‘U’)。注意,s 可能同时含有大写和小写字母。给你一个偶数长度的字符串 s。将其拆分成长度相同的两半,前一半为 a ,后一半为 b。如果 a 和 b 相似,返回 true;否则,返回 false。原创 2022-11-11 20:30:00 · 967 阅读 · 10 评论 -
「 每日一练,快乐水题 」1684. 统计一致字符串的数目
给你一个由不同字符组成的字符串 allowed 和一个字符串数组 words。如果一个字符串的每一个字符都在 allowed 中,就称这个字符串是 一致字符串。请你返回 words 数组中 一致字符串 的数目。原创 2022-11-08 20:30:00 · 984 阅读 · 0 评论 -
「 每日一练,快乐水题 」1773. 统计匹配检索规则的物品数量
给你一个数组 items ,其中 items[i] = [typei, colori, namei] ,描述第 i 件物品的类型、颜色以及名称。ruleKey == “color” 且 ruleValue == colori。另给你一条由两个字符串 ruleKey 和 ruleValue 表示的检索规则。ruleKey == “type” 且 ruleValue == typei。ruleKey == “name” 且 ruleValue == namei。统计并返回 匹配检索规则的物品数量。原创 2022-10-29 09:43:05 · 872 阅读 · 0 评论 -
「 每日一练,快乐水题 」1790. 仅执行一次字符串交换能否使两个字符串相等
一次 字符串交换 操作的步骤如下:选出某个字符串中的两个下标(不必不同),并交换这两个下标所对应的字符。解释:例如,交换 s2 中的第一个和最后一个字符可以得到 “bank”输入:s1 = “attack”, s2 = “defend”输入:s1 = “bank”, s2 = “kanb”输入:s1 = “kelb”, s2 = “kelb”输入:s1 = “abcd”, s2 = “dcba”解释:两个字符串已经相等,所以不需要进行字符串交换。解释:一次字符串交换无法使两个字符串相等。原创 2022-10-11 21:57:41 · 877 阅读 · 2 评论 -
「 每日一练,快乐水题 」面试题 01.02. 判定是否互为字符重排
给定两个字符串 s1 和 s2,请编写一个程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串。输入: s1 = “abc”, s2 = “bca”输入: s1 = “abc”, s2 = “bad”原创 2022-09-27 23:12:46 · 1014 阅读 · 6 评论 -
「 每日一练,快乐水题 」1636. 按照频率将数组升序排序
给你一个整数数组 nums ,请你将数组按照每个值的频率 升序 排序。解释:‘2’ 和 ‘3’ 频率都为 2 ,所以它们之间按照数值本身降序排序。解释:‘3’ 频率为 1,‘1’ 频率为 2,‘2’ 频率为 3。输入:nums = [-1,1,-6,4,5,-6,1,4,1]输出:[5,-1,4,4,-6,-6,1,1,1]输入:nums = [1,1,2,2,2,3]输入:nums = [2,3,1,3,2]输出:[3,1,1,2,2,2]输出:[1,3,3,2,2]请你返回排序后的数组。原创 2022-09-19 22:23:55 · 872 阅读 · 8 评论 -
「 每日一练,快乐水题 」1619. 删除某些元素后的数组均值
输入:arr = [4,8,4,10,0,7,1,3,7,8,8,3,4,1,6,2,1,1,8,0,9,8,0,3,9,10,3,10,1,10,7,3,2,1,4,9,10,7,6,4,0,8,5,1,2,1,6,2,5,0,7,10,9,10,3,7,10,5,8,5,7,6,7,6,10,9,5,10,5,5,7,2,10,7,7,8,2,0,1,1]输入:arr = [1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3]输出:2.00000。输出:4.00000。原创 2022-09-14 21:23:18 · 848 阅读 · 2 评论 -
「 每日一练,快乐水题 」1608. 特殊数组的特征值
如果存在一个数 x ,使得 nums 中恰好有 x 个元素 大于或者等于 x ,那么就称 nums 是一个 特殊数组 ,而 x 是该数组的 特征值。可以证明的是,如果 nums 是特殊数组,那么其特征值 x 是 唯一的。如果 x = 0,应该有 0 个元素 >= x,但实际有 2 个。如果 x = 1,应该有 1 个元素 >= x,但实际有 0 个。如果 x = 2,应该有 2 个元素 >= x,但实际有 0 个。输入:nums = [0,4,3,0,4]输入:nums = [3,6,7,7,0]原创 2022-09-12 20:00:00 · 1102 阅读 · 2 评论 -
「 每日一练,快乐水题 」1455. 检查单词是否为句中其他单词的前缀
如果 searchWord 是某一个单词的前缀,则返回句子 sentence 中该单词所对应的下标(下标从 1 开始)。如果 searchWord 是多个单词的前缀,则返回匹配的第一个单词的下标(最小下标)。如果 searchWord 不是任何单词的前缀,则返回 -1。给你一个字符串 sentence 作为句子并指定检索词为 searchWord ,其中句子由若干用 单个空格 分隔的单词组成。请你检查检索词 searchWord 是否为句子 sentence 中任意单词的前缀。原创 2022-08-21 22:36:26 · 1055 阅读 · 6 评论 -
「 每日一练,快乐水题 」1450. 在既定时间做作业的学生人数
请返回在查询时间 queryTime 时正在做作业的学生人数。形式上,返回能够使 queryTime 处于区间 [startTime[i], endTime[i]](含)的学生人数。给你两个整数数组 startTime(开始时间)和 endTime(结束时间),并指定一个整数 queryTime 作为查询时间。已知,第 i 名学生在 startTime[i] 时开始写作业并于 endTime[i] 时完成作业。原创 2022-08-19 22:15:22 · 1064 阅读 · 4 评论 -
「 每日一练,快乐水题 」1408. 数组中的字符串匹配
如果你可以删除 words[j] 最左侧和/或最右侧的若干字符得到 word[i] ,那么字符串 words[i] 就是 words[j] 的一个子字符串。给你一个字符串数组 words ,数组中的每个字符串都可以看作是一个单词。请你按 任意 顺序返回 words 中是其他单词的子字符串的所有单词。...原创 2022-08-06 19:30:18 · 1018 阅读 · 2 评论 -
「 每日一练,快乐水题 」1374. 生成每种字符都是奇数个的字符串
给你一个整数n,请你返回一个含n个字符的字符串,其中每种字符在该字符串中都恰好出现奇数次。返回的字符串必须只含小写英文字母。如果存在多个满足题目要求的字符串,则返回其中任意一个即可。...原创 2022-08-01 22:00:00 · 465 阅读 · 6 评论 -
「 每日一练,快乐水题 」1331. 数组序号转换
给你一个整数数组arr,请你将数组中的每个元素替换为它们排序后的序号。一个元素越大,那么序号越大。如果两个元素相等,那么它们的序号相同。序号代表了一个元素有多大。每个数字的序号都应该尽可能地小。序号从1开始编号。...原创 2022-07-28 19:30:00 · 546 阅读 · 4 评论 -
「 每日一练,快乐水题 」1252. 奇数值单元格的数目
另有一个二维索引数组indices,indices[i]=[ri,ci]指向矩阵中的某个位置,其中ri和ci分别表示指定的行和列(从0开始编号)。给你m、n和indices。请你在执行完所有indices指定的增量操作后,返回矩阵中奇数值单元格的数目。给你一个mxn的矩阵,最开始的时候,每个单元格中的值都是0。ri行上的所有单元格,加1。ci列上的所有单元格,加1。...原创 2022-07-15 19:57:01 · 189 阅读 · 6 评论 -
「 每日一练,快乐水题 」676. 实现一个魔法字典
676. 实现一个魔法字典设计一个使用单词列表进行初始化的数据结构,单词列表中的单词 互不相同 。 如果给出一个单词,请判定能否只将这个单词中一个字母换成另一个字母,使得所形成的新单词存在于你构建的字典中。实现 MagicDictionary 类:MagicDictionary() 初始化对象void buildDict(String[] dictionary) 使用字符串数组 dictionary 设定该数据结构,dictionary 中的字符串互不相同bool search(String searc原创 2022-07-11 22:58:50 · 447 阅读 · 6 评论 -
「 每日一练,快乐水题 」1108. IP 地址无效化
1108. IP 地址无效化给你一个有效的 IPv4 地址 address,返回这个 IP 地址的无效化版本。所谓无效化 IP 地址,其实就是用 “[.]” 代替了每个 “.”。🔵结果展示:原创 2022-06-23 17:34:26 · 819 阅读 · 8 评论 -
「 每日一练,快乐水题 」1089. 复写零
1089. 复写零给你一个长度固定的整数数组 arr,请你将该数组中出现的每个零都复写一遍,并将其余的元素向右平移。注意:请不要在超过该数组长度的位置写入元素。要求:请对输入的数组 就地 进行上述修改,不要从函数返回任何东西。🔵结果展示:...原创 2022-06-17 12:04:46 · 306 阅读 · 10 评论 -
「 每日一练,快乐水题 」1051. 高度检查器
1051. 高度检查器学校打算为全体学生拍一张年度纪念照。根据要求,学生需要按照 非递减 的高度顺序排成一行。排序后的高度情况用整数数组 expected 表示,其中 expected[i] 是预计排在这一行中第 i 位的学生的高度(下标从 0 开始)。给你一个整数数组 heights ,表示 当前学生站位 的高度情况。heights[i] 是这一行中第 i 位学生的高度(下标从 0 开始)。返回满足 heights[i] != expected[i] 的 下标数量 。🔵结果展示:...原创 2022-06-13 23:45:00 · 224 阅读 · 6 评论 -
「 每日一练,快乐水题 」287. 寻找重复数
287. 寻找重复数给定一个包含 n + 1 个整数的数组 nums ,其数字都在 [1, n] 范围内(包括 1 和 n),可知至少存在一个重复的整数。假设 nums 只有 一个重复的整数 ,返回 这个重复的数 。你设计的解决方案必须 不修改 数组 nums 且只用常量级 O(1) 的额外空间。🔵结果展示:原创 2022-06-01 00:45:00 · 185 阅读 · 4 评论 -
「 每日一练,快乐水题 」面试题 17.11. 单词距离
文章目录🔴力扣原题:🟠题目简述:🟡解题思路:🟢C++代码:🔵结果展示:🔴力扣原题:面试题 17.11. 单词距离🟠题目简述:有个内含单词的超大文本文件,给定任意两个不同的单词,找出在这个文件中这两个单词的最短距离(相隔单词数)。如果寻找过程在这个文件中会重复多次,而每次寻找的单词不同,你能对此优化吗?🟡解题思路:一次遍历;每次计算差值,取最小差值;over;🟢C++代码:class Solution {public: int findClosest(vector<s原创 2022-05-27 17:12:07 · 180 阅读 · 4 评论 -
「 每日一练,快乐水题 」141. 环形链表
文章目录🔴力扣原题:🟠题目简述:🟡解题思路:🟢C++代码:🔵结果展示:🔴力扣原题:141. 环形链表🟠题目简述:给你一个链表的头节点 head ,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。注意:pos 不作为参数进行传递 。仅仅是为了标识链表的实际情况。如果链表中存在环 ,则返回 true 。 否则,返回 false 。🟡解题思原创 2022-05-24 00:00:00 · 156 阅读 · 0 评论 -
「 每日一练,快乐水题 」242. 有效的字母异位词
文章目录🔴力扣原题:🟠题目简述:🟡解题思路:🟢C++代码:🔵结果展示:🔴力扣原题:242. 有效的字母异位词🟠题目简述:给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。🟡解题思路:利用哈希来记录两个字符串的字符频次;遍历两个哈希比较字符频次即可;处理字符串长度不一样的特殊情况;over;🟢C++代码:class Solution {public: boo原创 2022-05-23 00:00:00 · 154 阅读 · 0 评论 -
「 每日一练,快乐水题 」383. 赎金信
文章目录🔴力扣原题:🟠题目简述:🟡解题思路:🟢C++代码:🔵结果展示:🔴力扣原题:383. 赎金信🟠题目简述:给你两个字符串:ransomNote 和 magazine ,判断 ransomNote 能不能由 magazine 里面的字符构成。如果可以,返回 true ;否则返回 false 。magazine 中的每个字符只能在 ransomNote 中使用一次。🟡解题思路:利用哈希表记录magazine字符串的字符频次;然后遍历ransomNote字符串,如果有字符没在magazi原创 2022-05-22 00:00:00 · 246 阅读 · 2 评论 -
「 每日一练,快乐水题 」387. 字符串中的第一个唯一字符
文章目录🔴力扣原题:🟠题目简述:🟡解题思路:🟢C++代码:🔵结果展示:🔴力扣原题:387. 字符串中的第一个唯一字符🟠题目简述:给定一个字符串 s ,找到 它的第一个不重复的字符,并返回它的索引 。如果不存在,则返回 -1 。🟡解题思路:利用哈希表计数;遍历输出只有一次的那个字符,否则输出-1;over;🟢C++代码:class Solution {public: int firstUniqChar(string s) { unordered_map<原创 2022-05-21 10:34:50 · 232 阅读 · 2 评论 -
「 每日一练,快乐水题 」961. 在长度 2N 的数组中找出重复 N 次的元素
文章目录🔴力扣原题:🟠题目简述:🟡解题思路:🟢C++代码:🔵结果展示:🔴力扣原题:961. 在长度 2N 的数组中找出重复 N 次的元素🟠题目简述:给你一个整数数组 nums ,该数组具有以下属性:nums.length == 2 * n.nums 包含 n + 1 个 不同的 元素nums 中恰有一个元素重复 n 次找出并返回重复了 n 次的那个元素。🟡解题思路:哈希大法好;利用unordered_map来计数;遍历unordered_map输出次数为n/2的数字即可;ove原创 2022-05-21 10:18:13 · 304 阅读 · 0 评论 -
「 每日一练,快乐水题 」121. 买卖股票的最佳时机
文章目录🔴力扣原题:🟠题目简述:🟡解题思路:🟢C++代码:🔵结果展示:🔴力扣原题:121. 买卖股票的最佳时机🟠题目简述:给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0 。🟡解题思路:暴力大法超时了,可惜了;一次遍历,保证买入是最低,然后计算原创 2022-05-18 23:05:50 · 205 阅读 · 0 评论 -
「 每日一练,快乐水题 」88. 合并两个有序数组
文章目录🔴力扣原题:🟠题目简述:🟡解题思路:🟢C++代码:🔵结果展示:🔴力扣原题:88. 合并两个有序数组🟠题目简述:给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。注意:最终,合并后数组不应由函数返回,而是存储在数组 nums1 中。为了应对这种情况,nums1 的初始长度为 m + n,其中前 m 个元素表示原创 2022-05-17 22:25:48 · 287 阅读 · 4 评论 -
「 每日一练,快乐水题 」953. 验证外星语词典
文章目录🔴力扣原题:🟠题目简述:🟡解题思路:🟢C++代码:🔵结果展示:🔴力扣原题:953. 验证外星语词典🟠题目简述:某种外星语也使用英文小写字母,但可能顺序 order 不同。字母表的顺序(order)是一些小写字母的排列。给定一组用外星语书写的单词 words,以及其字母表的顺序 order,只有当给定的单词在这种外星语中按字典序排列时,返回 true;否则,返回 false。🟡解题思路:使用map得到order的顺序;把目标words转换成我们熟知的英语单词;利用is_sorte原创 2022-05-17 21:45:36 · 257 阅读 · 0 评论 -
「 每日一练,快乐水题 」217. 存在重复元素
文章目录🔴力扣原题:🟠题目简述:🟡解题思路:🟢C++代码:🔵结果展示:🔴力扣原题:217. 存在重复元素🟠题目简述:给你一个整数数组 nums 。如果任一值在数组中出现 至少两次 ,返回 true ;如果数组中每个元素互不相同,返回 false 。🟡解题思路:哈希大法好;利用unordered_map来计算重复出现的数字;over;🟢C++代码:class Solution {public: bool containsDuplicate(vector<int>原创 2022-05-16 18:13:26 · 284 阅读 · 8 评论 -
「 每日一练,快乐水题 」944. 删列造序
文章目录🔴力扣原题:🟠题目简述:🟡解题思路:🟢C++代码:🔵结果展示:🔴力扣原题:944. 删列造序🟠题目简述:给你由 n 个小写字母字符串组成的数组 strs,其中每个字符串长度相等。这些字符串可以每个一行,排成一个网格。例如,strs = [“abc”, “bce”, “cae”] 可以排列为:abcbcecae你需要找出并删除 不是按字典序升序排列的 列。在上面的例子(下标从 0 开始)中,列 0(‘a’, ‘b’, ‘c’)和列 2(‘c’, ‘e’, ‘e’)都是按升序排列的,原创 2022-05-12 19:07:07 · 433 阅读 · 4 评论 -
「 每日一练,快乐水题 」942. 增减字符串匹配
文章目录🔴力扣原题:🟠题目简述:🟡解题思路:🟢C++代码:🔵结果展示:🔴力扣原题:942. 增减字符串匹配🟠题目简述:由范围 [0,n] 内所有整数组成的 n + 1 个整数的排列序列可以表示为长度为 n 的字符串 s ,其中:如果 perm[i] < perm[i + 1] ,那么 s[i] == ‘I’如果 perm[i] > perm[i + 1] ,那么 s[i] == ‘D’给定一个字符串 s ,重构排列 perm 并返回它。如果有多个有效排列perm,则返回其中 任何原创 2022-05-09 19:37:04 · 455 阅读 · 4 评论 -
「 每日一练,快乐水题 」933. 最近的请求次数
文章目录🔴力扣原题:🟠题目简述:🟡解题思路:🟢C++代码:🔵结果展示:🔴力扣原题:933. 最近的请求次数🟠题目简述:写一个 RecentCounter 类来计算特定时间范围内最近的请求。请你实现 RecentCounter 类:RecentCounter() 初始化计数器,请求数为 0 。int ping(int t) 在时间 t 添加一个新请求,其中 t 表示以毫秒为单位的某个时间,并返回过去 3000 毫秒内发生的所有请求数(包括新请求)。确切地说,返回在 [t-3000, t] 内发原创 2022-05-06 21:31:29 · 175 阅读 · 6 评论 -
「 每日一练,快乐水题 」1305. 两棵二叉搜索树中的所有元素
文章目录🔴力扣原题:🟠题目简述:🟡解题思路:🟢C++代码:🔵结果展示:🔴力扣原题:1305. 两棵二叉搜索树中的所有元素🟠题目简述:给你 root1 和 root2 这两棵二叉搜索树。请你返回一个列表,其中包含 两棵树 中的所有整数并按 升序 排序。.🟡解题思路:遍历两个树;排序vector;over;🟢C++代码:/** * Definition for a binary tree node. * struct TreeNode { * int val; *原创 2022-05-01 11:31:38 · 762 阅读 · 18 评论 -
「 每日一练,快乐水题 」908. 最小差值 I
文章目录🔴力扣原题:🟠题目简述:🟡解题思路:🟢C++代码:🔵结果展示:🔴力扣原题:908. 最小差值 I🟠题目简述:给你一个整数数组 nums,和一个整数 k 。在一个操作中,您可以选择 0 <= i < nums.length 的任何索引 i 。将 nums[i] 改为 nums[i] + x ,其中 x 是一个范围为 [-k, k] 的整数。对于每个索引 i ,最多 只能 应用 一次 此操作。nums 的 分数 是 nums 中最大和最小元素的差值。在对 nums 中的每个原创 2022-04-30 19:32:36 · 286 阅读 · 2 评论 -
「 每日一练,快乐水题 」905. 按奇偶排序数组
文章目录🔴力扣原题:🟠题目简述:🟡解题思路:🟢C++代码:🔵结果展示:🔴力扣原题:905. 按奇偶排序数组🟠题目简述:给你一个整数数组 nums,将 nums 中的的所有偶数元素移动到数组的前面,后跟所有奇数元素。返回满足此条件的 任一数组 作为答案。🟡解题思路:遍历大法好,分出奇数偶数两个vector;拼接偶数vector与奇数vector;over;🟢C++代码:class Solution {public: vector<int> sortArrayB原创 2022-04-28 18:40:47 · 1259 阅读 · 12 评论