![](https://img-blog.csdnimg.cn/faba11f579894ff79619d4e4436cf861.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
《Solving:力扣解题之路》
文章平均质量分 54
少年意气,本想大学四年内刷遍力扣,解爆HOJ,POJ,ZDOJ,做出个最强题解大全。
然,少年意气必将回归现实。大学不只有编程,且题海无涯。正如:
至繁归于至简。
力扣主要针对算法,是算法题解的首选。
我将选择力扣,做出像样的一流的解法大全
注:每篇都是未完待续。
0<Solving)1
coding解题家—Geek极客(advancing)。
展开
-
力扣3. 无重复字符的最长子串——《解题者:力扣解题之路》
前言:力扣3.无重复字符的最长子串,是最经典不过的滑动窗口题——虽然我的首解是用模拟法解决的q(≧▽≦q)这也说明了:算法不用生搬硬套,不断尝试、创新挑战才是不二法门✔关键字索引:滑动窗口、哈希表、模拟法、无重复的最长子串、力扣第三题目录:题目描述:题意补充:思路|破解——A解:将整个过程模拟,即可思路标识-:解题-:B解:经典的滑动窗口思路标识-:解题-:知识回顾:回到《解题者:力扣解题之路》目录:题目描述:给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。题意原创 2021-12-25 12:39:55 · 930 阅读 · 0 评论 -
力扣2.两数相加——《解题者:力扣解题之路》
力扣2.两数相加大整数加法,是再经典不过的模拟——即:用数组或链表模拟 表示 大整数,用数组/链表对应各位的相加、进位,模拟整数的相加、进位。而,该力扣第二题正是一个最典型的示例。( ̄︶ ̄)↗关键字索引:数组、链表、模拟、大整数加法目录:题目描述:题意补充:思路|破解A解:链表转数组(用数组代替链表操作)思路标识:解题:B解:直接用链表模拟思路标识:解题:C解:链表模拟,进一步重构,B解优化思路标识:知识回顾:推荐习题:回到《解题者:力扣解题之路》目录:题目描述:给你两个 非空 的链表,原创 2021-12-24 22:48:31 · 785 阅读 · 0 评论 -
《解题者:力扣解题之路》【前言】&暨&【目录】
《解题者:LeetCode解题之道》文章索引:解题目录:传送门——前言:后记:解题目录:传送门——点击题目即可实现传送ヾ(◍°∇°◍)ノ゙ 力扣1. 两数之和——《解题者:力扣解题之路》 力扣2.两数相加——《解题者:力扣解题之路》 力扣3. 无重复字符的最长子串——《解题者:力扣解题之路》分割线前言:我对该专栏的愿景:1️⃣大学四年里,至少将它完成到1000+题解2️⃣把它做成CSDN最好的力扣题解之一,同时也是leetcode里高质量题解之一。3️原创 2021-12-21 08:54:11 · 431 阅读 · 3 评论 -
力扣1. 两数之和——《解题者:力扣解题之路》
前言:不同于某些OJ,力扣第一题对初学者不是很友好,初次看到它,可能一时想不到思路——但须知万事开头难,走出第一步,即相当于成功一半——而:我将为你认认真真地解开它ヾ(◍°∇°◍)ノ゙...原创 2021-12-23 19:35:57 · 3870 阅读 · 2 评论 -
力扣190. 颠倒二进制位
力扣190. 颠倒二进制位题目描述颠倒给定的 32 位无符号整数的二进制位。提示:1.请注意,在某些语言(如 Java)中,没有无符号整数类型。在这种情况下,输入和输出都将被指定为有符号整数类型,并且不应影响您的实现,因为无论整数是有符号的还是无符号的,其内部的二进制表示形式都是相同的。2.在 Java 中,编译器使用二进制补码记法来表示有符号整数。因此,在 示例 2 中,输入表示有符号整数 -3,输出表示有符号整数 -1073741825。示例一:输入:n = 000000.原创 2021-12-06 21:56:35 · 179 阅读 · 0 评论 -
力扣461. 汉明距离
力扣461. 汉明距离题目描述:两个整数之间的 汉明距离 指的是这两个数字对应二进制位不同的位置的数目。给你两个整数 x 和 y,计算并返回它们之间的汉明距离。示例一:输入:x = 1, y = 4输出:2解释:1 (0 0 0 1)4 (0 1 0 0) ↑ ↑上面的箭头指出了对应二进制位不同的位置。示例二:输入:x = 3, y = 1输出:1提示:0 <= x, y <= 2^31 - 1思路:没有什么特殊的技巧,熟悉.原创 2021-12-06 21:20:30 · 346 阅读 · 0 评论 -
力扣324. 摆动排序 II
力扣324. 摆动排序 II题目描述:给你一个整数数组 nums,将它重新排列成 nums[0] < nums[1] > nums[2] < nums[3]… 的顺序。你可以假设所有输入数组都可以得到满足题目要求的结果。示例一:输入:nums = [1,5,1,1,6,4]输出:[1,6,1,5,1,4]解释:[1,4,1,5,1,6] 同样是符合题目要求的结果,可以被判题程序接受。示例二:输入:nums = [1,3,2,2,3,1]输出:[2,3,1,3,1.原创 2021-12-06 20:38:16 · 626 阅读 · 0 评论 -
力扣561. 数组拆分 I
题目描述:给定长度为 2n 的整数数组 nums ,你的任务是将这些数分成 n 对, 例如 (a1, b1), (a2, b2), …, (an, bn) ,使得从 1 到 n 的 min(ai, bi) 总和最大。返回该 最大总和 。示例一:输入:nums = [1,4,3,2]输出:4解释:所有可能的分法(忽略元素顺序)为:1. (1, 4), (2, 3) -> min(1, 4) + min(2, 3) = 1 + 2 = 32. (1, 3), (2, 4) ->.原创 2021-12-06 20:04:51 · 445 阅读 · 0 评论 -
力扣1913. 两个数对之间的最大乘积差
题目描述:两个数对 (a, b) 和 (c, d) 之间的 乘积差 定义为 (a * b) - (c * d) 。-------例如,(5, 6) 和 (2, 7) 之间的乘积差是 (5 * 6) - (2 * 7) = 16 。给你一个整数数组 nums ,选出四个 不同的 下标 w、x、y 和 z ,使数对 (nums[w], nums[x]) 和 (nums[y], nums[z]) 之间的 乘积差 取到 最大值 。返回以这种方式取得的乘积差中的 最大值 。示例1️⃣:输入:nums.原创 2021-12-06 19:17:07 · 304 阅读 · 0 评论 -
力扣136. 只出现一次的数字(异或位运算)
力扣136.只出现一次的数字题目描述给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例一:输入: [2,2,1]输出: 1示例二:输入: [4,1,2,1,2]输出: 4粗暴的解法I:直接计数class Solution {public: int singleNumber(vector<int>& nums) {.原创 2021-12-06 15:00:22 · 284 阅读 · 0 评论 -
力扣976. 三角形的最大周长
题目描述:给定由一些正数(代表长度)组成的数组 A,返回由其中三个长度组成的、面积不为零的三角形的最大周长。如果不能形成任何面积不为零的三角形,返回 0。示例一:输入:[2,1,2]输出:5示例二:输入:[1,2,1]输出:0示例三:输入:[3,2,3,4]输出:10示例四:输入:[3,6,2,3]输出:8提示:3 <= A.length <= 100001 <= A[i] <= 10^6解法一:直接排序class Solutio.原创 2021-12-05 15:59:56 · 524 阅读 · 0 评论 -
力扣539. 最小时间差
题目描述:给定一个 24 小时制(小时:分钟 “HH:MM”)的时间列表,找出列表中任意两个时间的最小时间差并以分钟数表示。示例1:输入:timePoints = ["23:59","00:00"]输出:1示例2:输入:timePoints = ["00:00","23:59","00:00"]输出:0提示:2 <= timePoints <= 2 * 104timePoints[i] 格式为 "HH:MM"解法一:简单模拟思路:1.简化,以分钟为标准】【2.原创 2021-12-05 15:37:07 · 146 阅读 · 0 评论 -
力扣905:按奇偶排序数组
905. 按奇偶排序数组题目描述:给定一个非负整数数组 A,返回一个数组,在该数组中, A 的所有偶数元素之后跟着所有奇数元素。你可以返回满足此条件的任何数组作为答案。示例:输入:[3,1,2,4]输出:[2,4,3,1]输出 [4,2,3,1],[2,4,1,3] 和 [4,2,1,3] 也会被接受。提示:1 <= A.length <= 50000 <= A[i] <= 5000解法一:临时空间class Solution {public: .原创 2021-12-05 14:53:03 · 139 阅读 · 0 评论 -
雪国列车》力扣入门-第一站(函数)
题目目录:371.两整数之和】面试题 17.01. 不用加号的加法】剑指 Offer 65. 不用加减乘除做加法解法一:直接用‘+’,‘-’;解法二(对数运算法):解法三:位运算法:解法四(二进制模拟进位):解法五:C++,STL模板解法六:卷积(这个是偷看别人的)计科学生含泪翻起了数学系的教材面试题 08.05. 递归乘法解法一:直接用*在这里插入图片描述解法二:递归(用循环迭代也可以for/while)在这里插入图片描述解法三:参照快速幂371. 两整数之和//面试题 17.01. 不用加号的加法原创 2021-12-01 15:02:59 · 310 阅读 · 0 评论 -
力扣268. 丢失的数字,五解法「排序I,计数I,原地哈希I,数学I,异或」难度:@-
力扣268. 丢失的数字题目描述:给定一个包含 [0, n] 中 n 个数的数组 nums ,找出 [0, n] 这个范围内没有出现在数组中的那个数。示例一:输入:nums = [3,0,1]输出:2解释:n = 3,因为有 3 个数字,所以所有的数字都在范围 [0,3] 内。2 是丢失的数字,因为它没有出现在 nums 中。示例二:输入:nums = [0,1]输出:2解释:n = 2,因为有 2 个数字,所以所有的数字都在范围 [0,2] 内。2 是丢失的数字,因为它没有出现在 n原创 2021-11-29 23:39:23 · 177 阅读 · 0 评论 -
力扣215. 数组中的第K个最大元素(计数排序,优先队列)难度:@-
215. 数组中的第K个最大元素题目描述:(高频面试考题,考验基础语法,光会AC还远远不够)给定整数数组 nums 和整数 k,请返回数组中第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。示例一:输入: [3,2,1,5,6,4] 和 k = 2输出: 5示例二:输入: [3,2,3,1,2,4,5,5,6] 和 k = 4输出: 4提示:1 <= k <= nums.length <= 104-104 &原创 2021-11-28 23:12:48 · 585 阅读 · 0 评论 -
力扣169. 多数元素(排序,哈希表,)【-】
力扣:多数元素题目描述:给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。示例一:输入:[3,2,3]输出:3示例二:输入:[2,2,1,1,1,2,2]输出:2解法1️⃣(排序,取下标为[n/2]的元素即可):class Solution {public: int majorityElement(vector<int>& nums) {原创 2021-11-27 22:27:18 · 582 阅读 · 3 评论 -
力扣881. 救生艇(贪心,双指针)
881. 救生艇题目描述:第 i 个人的体重为 people[i],每艘船可以承载的最大重量为 limit。每艘船最多可同时载两人,但条件是这些人的重量之和最多为 limit。返回载到每一个人所需的最小船数。(保证每个人都能被船载)。示例一:输入:people = [1,2], limit = 3输出:1解释:1 艘船载 (1, 2)示例二:输入:people = [3,2,2,1], limit = 3输出:3解释:3 艘船分别载 (1, 2), (2) 和 (3)示例三:原创 2021-11-27 00:00:46 · 570 阅读 · 1 评论 -
力扣217. 存在重复元素(排序||哈希集合)
217. 存在重复元素题目描述:给定一个整数数组,判断是否存在重复元素。如果存在一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。示例一:输入: [1,2,3,1]输出: true示例二:输入: [1,2,3,4]输出: false示例三:输入: [1,1,1,3,3,4,3,2,4,2]输出: true解法一:哈希集合class Solution {public: bool containsDuplicate(ve原创 2021-11-25 23:31:06 · 252 阅读 · 0 评论 -
力扣:164.最大间距(排序算法练习题)难度:@-
164.最大间距给定一个无序的数组,找出数组在排序之后,相邻元素之间最大的差值。如果数组元素个数小于 2,则返回 0。示例一:输入: [3,6,9,1]输出: 3解释: 排序后的数组是 [1,3,6,9], 其中相邻元素 (3,6) 和 (6,9) 之间都存在最大差值 3。示例二:输入: [10]输出: 0解释: 数组元素个数小于 2,因此返回 0。示例三:你可以假设数组中所有元素都是非负整数,且数值在 32 位有符号整数范围内。请尝试在线性时间复杂度和空间复杂度的条件下解决此原创 2021-11-25 23:29:13 · 331 阅读 · 0 评论 -
十大排序算法实现(C++/JAVA)模板—总结)/十七万字/
选择排序、堆排序、桶排序、冒泡排序、API接口插入排序、计数排序、基数排序、快速排序、归并排序、原创 2021-11-25 23:12:33 · 1071 阅读 · 2 评论 -
力扣147. 对链表进行插入排序(插入排序的链表实现)
147. 对链表进行插入排序题目描述:对链表进行插入排序。插入排序的动画演示如上。从第一个元素开始,该链表可以被认为已经部分排序(用黑色表示)。每次迭代时,从输入数据中移除一个元素(用红色表示),并原地将其插入到已排好序的链表中。插入排序算法:1、插入排序是迭代的,每次只移动一个元素,直到所有元素可以形成一个有序的输出列表。2、每次迭代中,插入排序只从输入数据中移除一个待排序的元素,找到它在序列中适当的位置,并将其插入。3、重复直到所有输入数据插入完为止。示例一:输入: 4->2原创 2021-11-24 12:58:27 · 174 阅读 · 0 评论 -
力扣88. 合并两个有序数组(模板题)
题目描述:给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。注意:最终,合并后数组不应由函数返回,而是存储在数组 nums1 中。为了应对这种情况,nums1 的初始长度为 m + n,其中前 m 个元素表示应合并的元素,后 n 个元素为 0 ,应忽略。nums2 的长度为 n 。示例一:输入:nums1 = [1,2原创 2021-11-24 10:30:19 · 133 阅读 · 0 评论 -
力扣769. 最多能完成排序的块(数学,暴力)
769. 最多能完成排序的块题目描述:数组arr是[0, 1, …, arr.length - 1]的一种排列,我们将这个数组分割成几个“块”,并将这些块分别进行排序。之后再连接起来,使得连接的结果和按升序排序后的原数组相同。我们最多能将数组分成多少块?示例一:输入: arr = [4,3,2,1,0]输出: 1解释:将数组分成2块或者更多块,都无法得到所需的结果。例如,分成 [4, 3], [2, 1, 0] 的结果是 [3, 4, 0, 1, 2],这不是有序的数组。示例二:输入原创 2021-11-23 22:16:46 · 173 阅读 · 0 评论 -
767. 重构字符串(贪心,计数排序)
767. 重构字符串(贪心,计数)题目描述:给定一个字符串S,检查是否能重新排布其中的字母,使得两相邻的字符不同。若可行,输出任意可行的结果。若不可行,返回空字符串。示例一:输入: S = "aab"输出: "aba"示例二:输入: S = "aaab"输出: ""提示:S 只包含小写字母并且长度在[1, 500]区间内。思路一:class Solution {public: string reorganizeString(string s) { if(s原创 2021-11-23 22:02:37 · 123 阅读 · 0 评论 -
力扣611. 有效三角形的个数(枚举,二分查找,对撞指针,NTT(正在想))
力扣611. 有效三角形的个数题目描述:给定一个包含非负整数的数组,你的任务是统计其中可以组成三角形三条边的三元组个数。示例:输入: [2,2,3,4]输出: 3解释:有效的组合是: 2,3,4 (使用第一个 2)2,3,4 (使用第二个 2)2,2,3注意:数组长度不超过1000。数组里整数的范围为 [0, 1000]。思路一:暴力枚举。class Solution {public://先枚举最大数,再往下枚举次大数,保证不重复void qsort(vector<原创 2021-11-23 17:28:46 · 625 阅读 · 1 评论 -
力扣747. 至少是其他数字两倍的最大数
747. 至少是其他数字两倍的最大数题目描述:给你一个整数数组 nums ,其中总是存在 唯一的 一个最大整数 。请你找出数组中的最大元素并检查它是否 至少是数组中每个其他数字的两倍 。如果是,则返回 最大元素的下标 ,否则返回 -1 。示例一:输入:nums = [3,6,1,0]输出:1解释:6 是最大的整数,对于数组中的其他整数,6 大于数组中其他元素的两倍。6 的下标是 1 ,所以返回 1 。示例二:输入:nums = [1,2,3,4]输出:-1解释:4 没有超过 3 的两原创 2021-11-23 15:54:05 · 538 阅读 · 0 评论 -
力扣75. 颜色分类(排序||双指针||单指针)
题目描述:给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。示例1️⃣:输入:nums = [2,0,2,1,1,0]输出:[0,0,1,1,2,2]示例2️⃣:输入:nums = [2,0,1]输出:[0,1,2]示例3️⃣:输入:nums = [0]输出:[0]示例4️⃣:输入:nums = [1]输出:[1]提示:n原创 2021-11-22 14:46:58 · 394 阅读 · 0 评论 -
零钱兑换(贪心算法,经典入门题)
概念:贪心算法(或贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择,即不从整体最优上加以考虑,得到在某种意义上的局部最优解。样题:力扣860.柠檬水找零题目描述:在柠檬水摊上,每一杯柠檬水的售价为 5 美元。顾客排队购买你的产品,(按账单 bills 支付的顺序)一次购买一杯。每位顾客只买一杯柠檬水,然后向你付 5 美元、10 美元或 20 美元。你必须给每个顾客正确找零,也就是说净交易是每位顾客向你支付 5 美元。注意,一开始你手头没有任何零钱。给你一个整数数组 bills ,原创 2021-11-20 22:33:16 · 1130 阅读 · 0 评论 -
力扣926. 将字符串翻转到单调递增(动态规划)
力扣926. 将字符串翻转到单调递增题目描述:如果一个由 ‘0’ 和 ‘1’ 组成的字符串,是以一些 ‘0’(可能没有 ‘0’)后面跟着一些 ‘1’(也可能没有 ‘1’)的形式组成的,那么该字符串是单调递增的。我们给出一个由字符 ‘0’ 和 ‘1’ 组成的字符串 S,我们可以将任何 ‘0’ 翻转为 ‘1’ 或者将 ‘1’ 翻转为 ‘0’。返回使 S 单调递增的最小翻转次数。示例1️⃣:输入:"00110"输出:1解释:我们翻转最后一位得到 00111.示例2️⃣:输入:"010110"原创 2021-11-16 23:35:52 · 284 阅读 · 1 评论 -
7. 整数反转(字符串转化||取余得各位直接转)
7. 整数反转题目描述:给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。假设环境不允许存储 64 位整数(有符号或无符号)。示例1️⃣:输入:x = 123输出:321示例2️⃣:输入:x = -123输出:-321示例3️⃣:输入:x = 120输出:21示例3️⃣:输入:x = 0输出:0提示:-231 <= x <= 231原创 2021-11-15 22:33:11 · 711 阅读 · 0 评论 -
力扣917. 仅仅反转字母(加限制的双指针)
力扣917. 仅仅反转字母题目描述:给定一个字符串 S,返回 “反转后的” 字符串,其中不是字母的字符都保留在原地,而所有字母的位置发生反转。示例1️⃣:输入:"ab-cd"输出:"dc-ba"示例2️⃣:输入:"a-bC-dEf-ghIj"输出:"j-Ih-gfE-dCba"示例3️⃣:输入:"Test1ng-Leet=code-Q!"输出:"Qedo1ct-eeLg=ntse-T!"提示:S.length <= 10033 <= S[i].ASCIIcode原创 2021-11-15 22:03:47 · 155 阅读 · 0 评论 -
力扣541. 反转字符串 II
力扣541. 反转字符串 II题目描述:给定一个字符串 s 和一个整数 k,从字符串开头算起,每计数至 2k 个字符,就反转这 2k 字符中的前 k 个字符。-如果剩余字符少于 k 个,则将剩余字符全部反转。-如果剩余字符小于 2k 但大于或等于 k 个,则反转前 k 个字符,其余字符保持原样。示例一:输入:s = "abcdefg", k = 2输出:"bacdfeg"示例二:输入:s = "abcd", k = 2输出:"bacd"提示:1 <= s.length &l原创 2021-11-15 21:52:17 · 271 阅读 · 0 评论 -
力扣557. 反转字符串中的单词 III
力扣557. 反转字符串中的单词 III题目描述:给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。示例:输入:"Let's take LeetCode contest"输出:"s'teL ekat edoCteeL tsetnoc"提示:在字符串中,每个单词由单个空格分隔,并且字符串中不会有任何额外的空格。双指针找到单词所在区间反转即可。class Solution {public: string reverseWords(strin原创 2021-11-15 21:40:55 · 426 阅读 · 0 评论 -
力扣151. 翻转字符串里的单词||力扣:剑指 Offer 58 - I. 翻转单词顺序(单词截取问题)
力扣:剑指 Offer 58 - I. 翻转单词顺序力扣151. 翻转字符串里的单词题目描述:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点符号和普通字母一样处理。例如输入字符串"I am a student. “,则输出"student. a am I”。示例1️⃣:输入: "the sky is blue"输出: "blue is sky the"示例2️⃣:输入: " hello world! "输出: "world! hello"解释: 输原创 2021-11-15 21:22:39 · 115 阅读 · 0 评论 -
力扣345. 反转字符串中的元音字母(有限制的双指针,模板题)
力扣345. 反转字符串中的元音字母题目描述:给你一个字符串 s ,仅反转字符串中的所有元音字母,并返回结果字符串。元音字母包括 ‘a’、‘e’、‘i’、‘o’、‘u’,且可能以大小写两种形式出现。示例1️⃣:输入:s = "hello"输出:"holle"示例2️⃣:输入:s = "leetcode"输出:"leotcede"提示:1 <= s.length <= 3 * 105s 由 可打印的 ASCII 字符组成解法:对双指针的滑动增加限制条件即可clas原创 2021-11-14 23:45:00 · 165 阅读 · 0 评论 -
力扣2000. 反转单词前缀(双指针,滑动窗口)
力扣2000. 反转单词前缀题目描述:给你一个下标从 0 开始的字符串 word 和一个字符 ch 。找出 ch 第一次出现的下标 i ,反转 word 中从下标 0 开始、直到下标 i 结束(含下标 i )的那段字符。如果 word 中不存在字符 ch ,则无需进行任何操作。例如,如果 word = “abcdefd” 且 ch = “d” ,那么你应该 反转 从下标 0 开始、直到下标 3 结束(含下标 3 )。结果字符串将会是 “dcbaefd”返回 结果字符串 。示例1️⃣:输入:wor原创 2021-11-14 23:30:35 · 179 阅读 · 0 评论 -
力扣334.反转字符串(双指针法,C++STL)
344. 反转字符串题目描述:编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 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"]提示:1 <= s.l原创 2021-11-14 23:11:40 · 885 阅读 · 0 评论 -
力扣2053. 数组中第 K 个独一无二的字符串(对字符串使用哈希表计数)
2053. 数组中第 K 个独一无二的字符串题目描述:独一无二的字符串 指的是在一个数组中只出现过 一次 的字符串。给你一个字符串数组 arr 和一个整数 k ,请你返回 arr 中第 k 个 独一无二的字符串 。如果 少于 k 个独一无二的字符串,那么返回 空字符串 “” 。注意,按照字符串在原数组中的 顺序 找到第 k 个独一无二字符串。示例1️⃣:输入:arr = ["d","b","c","b","c","a"], k = 2输出:"a"解释:arr 中独一无二字符串包括 "d"原创 2021-11-14 09:30:56 · 781 阅读 · 0 评论 -
力扣1832. 判断句子是否为全字母句(字母计数,模拟哈希表)
力扣1832. 判断句子是否为全字母句依旧是简单的字母计数。题目描述:全字母句 指包含英语字母表中每个字母至少一次的句子。给你一个仅由小写英文字母组成的字符串 sentence ,请你判断 sentence 是否为 全字母句 。如果是,返回 true ;否则,返回 false 。示例1️⃣:输入:sentence = "thequickbrownfoxjumpsoverthelazydog"输出:true解释:sentence 包含英语字母表中每个字母至少一次。示例2️⃣:输入:se转载 2021-11-14 09:00:39 · 135 阅读 · 0 评论