leetcode题目杂选
文章平均质量分 50
aisliveF
所行皆所愿
展开
-
697.数组的度
vec] : mp 这段代码使用了C++17的结构化绑定(Structured Bindings)特性,用于遍历一个关联容器(如std::map或std::unordered_map)。例如,假设mp是一个std::map类型的容器,那么这段代码的作用就是遍历mp中的每一个元素,并将每个元素的值(即std::vector)绑定到vec,而忽略键。所以 [2,2,3,1,4,2] 是最短子数组,因此返回 6。输入:nums = [1,2,2,3,1,4,2]原创 2024-08-31 09:35:44 · 771 阅读 · 0 评论 -
665.非递减数列
判断是否存在多个逆序对数,将 nums[i] 修改成小于或等于 nums[i+1] 的数,但由于还需要保证 nums[i] 不小于它之前的数,nums[i] 越大越好,所以将 nums[i] 修改成 nums[i+1] 是最佳的;否则根据nums[i+1]原创 2024-08-31 18:02:28 · 333 阅读 · 0 评论 -
274.H指数
二分搜索,h的值在*0-citations.size()*之间,那么我们就是求得一个最大的h,那么可以用二分去枚举h,该复杂度为logn,此时我们再去扫描数组,时间复杂度为n,总的时间复杂度为nlogn。纯暴力,数据范围给的不大,直接从0到1010枚举即可,如果有新的h更新就行,其核心思想也就是用一个数组计数后,再从大到小进行累加,看当前的累加值是否大于我们当前给的i,如果是则返回i即可。解释:给定数组表示研究者总共有 5 篇论文,每篇论文相应的被引用了 3, 0, 6, 1, 5 次。原创 2024-08-31 16:48:27 · 211 阅读 · 0 评论 -
41. 缺失的第一个正数
存在映射关系,设计哈希表,空间复杂度为O(1),将原数组设计成哈希表,负数换成n+1,这样的数不在考虑范围内,合理的处理了负数对于整个数组的影响,给正数打负号标记,来判断缺失哪个数。找到最小的整数,可以不开新的空间的条件下,把数组中的正数放在合法位置,在进行遍历即可,需要注意的是有 nums[i]=x=nums[x−1]这个会陷入死循环,排除这个情况即可。这种方法有点暴力,得多注意边界的判断等,有点麻烦,得多考虑 [-1,0,3,1] 这个样例。输入:nums = [3,4,-1,1]原创 2024-08-31 11:21:03 · 200 阅读 · 0 评论 -
453.最小操作次数使数组元素相等
每次操作对于n-1个数都加上1,那么总体样本中给最大的数减去1,那么这样问题化简为对于每个非最小的数与最小数的差值的累加和,就是所要操作的最小次数。给你一个长度为 n 的整数数组,每次操作将会使 n - 1 个元素增加 1。返回让数组所有元素相等的最小操作次数。优化了求最小值的函数,用 min_element去求最小值,这个是从C++98开始有的,所以直接用就行。输入:nums = [1,2,3]输入:nums = [1,1,1]答案保证符合 32-bit 整数。原创 2024-08-31 17:16:50 · 171 阅读 · 0 评论 -
283.移动零
给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。请注意 ,必须在不复制数组的情况下原地对数组进行操作。输入: nums = [0,1,0,3,12]输出: [1,3,12,0,0]输入: nums = [0]原创 2024-08-31 22:53:18 · 263 阅读 · 0 评论 -
135.分发糖果
①左规则:当 ratings[i−1]<ratings[i] 时,i 号学生的糖果数量将比 i−1 号孩子的糖果数量多。②右规则:当 ratings[i]>ratings[i+1] 时,i 号学生的糖果数量将比 i+1 号孩子的糖果数量多。将「相邻的孩子中,评分高的孩子必须获得更多的糖果」这句话拆分为两个规则,分别处理。解释:你可以分别给第一个、第二个、第三个孩子分发 2、1、2 颗糖果。解释:你可以分别给第一个、第二个、第三个孩子分发 1、2、1 颗糖果。相邻两个孩子评分更高的孩子会获得更多的糖果。原创 2024-09-03 12:38:05 · 255 阅读 · 0 评论 -
55. 跳跃游戏
用一个能到达最远距离的变量r,依次遍历整个区间的每个点,是否能有新的更远的距离,有就更新,没有就下一个点,如果r>=n-1, 那就是说明能到达最后的点,返回true;数组中的每个元素代表你在该位置可以跳跃的最大长度。解释:无论怎样,总会到达下标为 3 的位置。解释:可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 3 步到达最后一个下标。判断你是否能够到达最后一个下标,如果可以,返回 true;输入:nums = [2,3,1,1,4]输入:nums = [3,2,1,0,4]原创 2024-09-02 16:23:37 · 139 阅读 · 0 评论 -
42.接雨水
对于下标 i,下雨后水能到达的最大高度等于下标 i 两边的最大高度的最小值,下标 i 处能接的雨水量等于下标 i 处的水能到达的最大高度减去 height[i]。对于 0≤i原创 2024-09-03 17:20:32 · 504 阅读 · 0 评论 -
13.罗马数字转整数
通过观察和给的示例的解释中,若存在小的数字在大的数字的左边的情况,根据规则需要减去小的数字。对于这种情况,我们也可以将每个字符视作一个单独的值,若一个数字右侧的数字比它大,则将该数字的符号取反。,需要注意的是如果字符串扫描到最后一个位置的时候,没有下一个和它对比的字符了,直接累加该处的字符的值,最后,返回累加值即可。12 写做 XII ,即为 X + II。Ⅰ是1,Ⅱ是2,Ⅲ是3,Ⅳ是4,Ⅴ是5,Ⅵ是6,Ⅶ是7,Ⅷ是8,Ⅸ是9,Ⅹ是10。罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。原创 2024-09-03 18:10:17 · 397 阅读 · 0 评论 -
238. 除自身以外数组的乘积
给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积。题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。开两个数组,一个维护i的左侧乘积数组,一个维护i的右侧数组,那么所求答案就是 循环每个i的。输入: nums = [-1,1,0,-3,3]输入: nums = [1,2,3,4]输出: [24,12,8,6]输出: [0,0,9,0,0]原创 2024-09-02 23:30:33 · 214 阅读 · 0 评论 -
134.加油站
贪心的思想,假设从x加油站出发经过z加油站最远能到达y加油站,那么从z加油站直接出发,不可能到达y下一个加油站。因为从x出发到z加油站时肯定还有存储的油,这都到不了y的下一站,而直接从z出发刚开始是没有存储的油的,所以更不可能到达y的下一站。你无法返回 2 号加油站,因为返程需要消耗 4 升汽油,但是你的油箱只有 3 升汽油。输入: gas = [1,2,3,4,5], cost = [3,4,5,1,2]开往 3 号加油站,你需要消耗 5 升汽油,正好足够你返回到 3 号加油站。因此,3 可为起始索引。原创 2024-09-03 11:41:12 · 424 阅读 · 0 评论 -
45. 跳跃游戏 II
类似,在跳跃游戏的基础上,维护了一个end变量,每次通过枚举当前点能跳到最远的距离,并且只有当前点能够跳到最远的距离时,即i=end后,在进行计数的增加,实现了选择最远点的跳跃的步数的计数。需要特别注意的是,我们到达最后的点之后那么就不需要进行计数了,因此循环遍历i<n-1, n代表的是nums的长度。换句话说,如果你在 nums[i] 处,你可以跳转到任意 nums[i + j] 处: 0 <= j <= nums[i] ,i + j < n。输入: nums = [2,3,1,1,4]原创 2024-09-02 16:33:13 · 450 阅读 · 0 评论 -
100. 相同的树
如果两个节点的值相同,则判断两个节点的子节点是否为空,如果只有一个节点的左子节点为空,或者只有一个节点的右子节点为空,则两个二叉树的结构不同,因此两个二叉树一定不同;如果两个节点的子节点的结构相同,则将两个节点的非空子节点分别加入两个队列,子节点加入队列时需要注意顺序,如果左右子节点都不为空,则先加入左子节点,后加入右子节点。输入:p = [1,2], q = [1,null,2]输入:p = [1,2,3], q = [1,2,3]输入:p = [1,2,1], q = [1,1,2]原创 2024-09-05 12:01:44 · 229 阅读 · 0 评论 -
104.二叉树的最大深度
具体而言,在计算当前二叉树的最大深度时,可以先递归计算出其左子树和右子树的最大深度,然后在 O(1) 时间内计算出当前二叉树的最大深度。递归在访问到空节点时退出。每次拓展下一层的时候,不同于广度优先搜索的每次只从队列里拿出一个节点,我们需要将队列里的所有节点都拿出来进行拓展,这样能保证每次拓展完的时候队列里存放的是当前层的所有节点,即我们是一层一层地进行拓展,最后我们用一个变量 ans 来维护拓展的次数,该二叉树的最大深度即为 ans。输入:root = [3,9,20,null,null,15,7]原创 2024-09-05 11:16:50 · 311 阅读 · 0 评论 -
226. 翻转二叉树
从根节点开始,递归地对树进行遍历,并从叶子节点先开始翻转。如果当前遍历到的节点 root 的左右两棵子树都已经翻转,那么我们只需要交换两棵子树的位置,即可完成以 root 为根节点的整棵子树的翻转。给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。输入:root = [4,2,7,1,3,6,9]树中节点数目范围在 [0, 100] 内。输出:[4,7,2,9,6,3,1]输入:root = [2,1,3]输入:root = []输出:[2,3,1]原创 2024-09-05 12:17:28 · 206 阅读 · 0 评论 -
130. 被围绕的区域
输入:board = [[“X”,“X”,“X”,“X”],[“X”,“O”,“O”,“X”],[“X”,“X”,“O”,“X”],[“X”,“O”,“X”,“X”]]输出:[[“X”,“X”,“X”,“X”],[“X”,“X”,“X”,“X”],[“X”,“X”,“X”,“X”],[“X”,“O”,“X”,“X”]]在上图中,底部的区域没有被捕获,因为它在 board 的边缘并且不能被围绕。,我们以它为起点,标记所有与它直接或间接相连的。如果该字母没有被标记过,则该字母为。的单元格来形成一个区域。原创 2024-09-05 17:07:58 · 311 阅读 · 0 评论 -
219. 存在重复元素 II
给你一个整数数组 nums 和一个整数 k ,判断数组中是否存在两个 不同的索引 i 和 j ,满足 nums[i] == nums[j] 且 abs(i - j) <= k。下标大于 k:将上一滑窗的左端点元素 nums[i−k−1] 移除,判断当前滑窗的右端点元素 nums[i] 是否存在 Set 中,若存在,返回 True,否则将当前元素 nums[i] 加入 Set 中。输入:nums = [1,2,3,1,2,3], k = 2。输入:nums = [1,0,1,1], k = 1。原创 2024-09-05 00:09:16 · 402 阅读 · 0 评论 -
128. 最长连续序列
枚举数组中的每个数 x,考虑以其为起点,不断尝试匹配 x+1,x+2,⋯ 是否存在,假设最长匹配到了 x+y,那么以 x 为起点的最长连续序列即为 x,x+1,x+2,⋯,x+y,其长度为 y+1,不断枚举并更新答案即可。暴力的方法是 O(n) 遍历数组去看是否存在这个数,但更高效的方法是用一个哈希表存储数组中的数,这样查看一个数是否存在即能优化至 O(1) 的时间复杂度。输入:nums = [0,3,7,2,5,8,4,6,0,1]输入:nums = [100,4,200,1,3,2]原创 2024-09-05 00:32:05 · 405 阅读 · 0 评论 -
200. 岛屿数量
为了求出岛屿的数量,我们可以扫描整个二维网格。在深度优先搜索的过程中,每个搜索到的 1 都会被重新标记为 0,也就是说dfs就是探寻岛屿的周围岛屿组成的最大连通的,最终岛屿的数量就是我们进行深度优先搜索的次数。给你一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。grid[i][j] 的值为 ‘0’ 或 ‘1’此外,你可以假设该网格的四条边均被水包围。输入:grid = [输入:grid = [原创 2024-09-05 16:28:45 · 317 阅读 · 0 评论 -
27.移除元素
元素的顺序可能发生改变。更改 nums 数组,使 nums 的前 k 个元素包含不等于 val 的元素。解释:你的函数应该返回 k = 5,并且 nums 中的前五个元素为 0,0,1,3,4。解释:你的函数函数应该返回 k = 2, 并且 nums 中的前两个元素均为 2。输入:nums = [0,1,2,2,3,0,4,2], val = 2。输入:nums = [3,2,2,3], val = 3。输出:5, nums = [0,1,4,0,3,输出:2, nums = [2,2,原创 2024-09-01 17:31:20 · 280 阅读 · 0 评论 -
7.整数反转
本题如果使用栈的话,就会爆内存,栈最多支持1024,因此不能使用栈(如代码一,就会爆栈),因此用digit = x % 10,x /= 10,rev = rev * 10 + digit进行模拟「弹出」和「推入」数字。如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。假设环境不允许存储 64 位整数(有符号或无符号)。输入:x = -123。输入:x = 123。输入:x = 120。原创 2024-09-01 11:01:10 · 260 阅读 · 0 评论 -
80. 删除有序数组中的重复项 II
nums[fast−2],说明 nums[fast] 和之前的元素都不同,因此将 nums[fast] 的值复制到 nums[slow],然后将 slow 的值加 1,即指向下一个位置。解释:函数应返回新长度 length = 7, 并且原数组的前七个元素被修改为 0, 0, 1, 1, 2, 3, 3。不需要考虑数组中超出新长度后面的元素。输入:nums = [0,0,1,1,1,1,2,3,3]输出:7, nums = [0,0,1,1,2,3,3]输入:nums = [1,1,1,2,2,3]原创 2024-09-01 19:12:57 · 367 阅读 · 0 评论 -
118.杨辉三角
单纯记录二维向量的用法,vector<vector> res(n);创建n行的二维向量,res[i].resize(i+1);创建i+1列的向量。输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。在「杨辉三角」中,每个数是它左上方和右上方的数的和。输入: numRows = 5。输入: numRows = 1。原创 2024-08-31 23:19:32 · 144 阅读 · 0 评论 -
26.删除有序数组中的重复项
nums[fast−1],说明 nums[fast] 和之前的元素都不同,因此将 nums[fast] 的值复制到 nums[slow],然后将 slow 的值加 1,即指向下一个位置。更改数组 nums ,使 nums 的前 k 个元素包含唯一元素,并按照它们最初在 nums 中出现的顺序排列。解释:函数应该返回新的长度 5 , 并且原数组 nums 的前五个元素被修改为 0, 1, 2, 3, 4。输入:nums = [0,0,1,1,1,2,2,3,3,4]输入:nums = [1,1,2]原创 2024-09-01 19:06:37 · 226 阅读 · 0 评论 -
169.多数元素
Boyer-Moore 投票算法,如果我们把众数记为 +1,把其他数记为 −1,将它们全部加起来,显然和大于 0,从结果本身我们可以看出众数比其他数多。给定一个大小为 n 的数组 nums ,返回其中的多数元素。但根据排序的结果来看,众数的数量最多,那么一定覆盖了size/2的点,排序之后直接返回值就行,优化上面的再次遍历数组。你可以假设数组是非空的,并且给定的数组总是存在多数元素。输入:nums = [2,2,1,1,1,2,2]输入:nums = [3,2,3]最常用的,哈希表进行映射。原创 2024-09-01 23:21:01 · 238 阅读 · 0 评论 -
125.验证回文串
双指针扫描数组,不相等返回false,否则返回true。函数用于检查给定的字符是否是字母或数字字符。类的成员函数,用于返回反向迭代器。这两个函数是 C++ 标准库中。中,起到反转字符串的函数是。原创 2024-09-01 08:34:12 · 253 阅读 · 0 评论 -
121.买卖股票的最佳时机
优化,我们需要在循环中逐步找到股票的冰点,在假设冰点的基础之上进行,那么在之后的时间里,不断求当前值和冰点值的最大差值即可,循环结束就有了最大利润。解释:在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5。对于i和j,我们每次需要枚举出最大的价格差,可以直接使用双重循环来暴力枚举,但考虑到数据的大小,这么做会超时的。返回你可以从这笔交易中获取的最大利润。输入:prices = [7,6,4,3,1]输入:[7,1,5,3,6,4]原创 2024-09-02 09:04:11 · 151 阅读 · 0 评论 -
122.买股票的最佳时机II
解释:在第 1 天(股票价格 = 1)的时候买入,在第 5 天 (股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5 - 1 = 4。解释:在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5 - 1 = 4。随后,在第 4 天(股票价格 = 3)的时候买入,在第 5 天(股票价格 = 6)的时候卖出, 这笔交易所能获得利润 = 6 - 3 = 3。输入:prices = [7,1,5,3,6,4]返回 你能获得的 最大 利润。原创 2024-09-02 10:02:06 · 977 阅读 · 0 评论 -
520.检测大写字母
①若第 1 个字母为大写,则其他字母必须均为大写或均为小写,即其他字母必须与第 2 个字母的大小写相同;给你一个字符串 word。如果大写用法正确,返回 true;否则,返回 false。如果单词不只含有一个字母,只有首字母大写, 比如 “Google”。单词中所有字母都不是大写,比如 “leetcode”。②若第 1 个字母为小写,则其他字母必须均为小写。全部字母都是大写,比如 “USA”。word 由小写和大写英文字母组成。输入:word = “FlaG”输入:word = “USA”原创 2024-08-31 23:45:36 · 151 阅读 · 0 评论 -
2980.检查按位或是否存在尾随零
其他按位或运算结果存在尾随零的可能选择方案包括:(2, 8), (2, 16), (4, 8), (4, 16), (8, 16), (2, 4, 8), (2, 4, 16), (2, 8, 16), (4, 8, 16), 以及 (2, 4, 8, 16)。例如,数字 5 的二进制表示是 “101”,不存在尾随零,而数字 4 的二进制表示是 “100”,存在两个尾随零。否则,返回 false。解释:如果选择元素 2 和 4,按位或运算结果是 6,二进制表示为 “110” ,存在一个尾随零。原创 2024-09-01 16:36:42 · 200 阅读 · 0 评论 -
88.合并两个有序数组
输入:nums1 = [1,2,3,0,0,0], m = 3, nums2 = [2,5,6], n = 3。合并结果是 [1,2,2,3,5,6] ,其中斜体加粗标注的为 nums1 中的元素。输入:nums1 = [0], m = 0, nums2 = [1], n = 1。输入:nums1 = [1], m = 1, nums2 = [], n = 0。解释:需要合并 [1,2,3] 和 [2,5,6]。解释:需要合并的数组是 [] 和 [1]。输出:[1,2,2,3,5,6]原创 2024-09-01 17:01:06 · 203 阅读 · 0 评论 -
189.轮转数组
开额外数组n,将原数组的数通过移动存储到新的数组,再将新数组拷贝到原数组。输入: nums = [1,2,3,4,5,6,7], k = 3。输入:nums = [-1,-100,3,99], k = 2。向右轮转 1 步: [7,1,2,3,4,5,6]向右轮转 2 步: [6,7,1,2,3,4,5]向右轮转 3 步: [5,6,7,1,2,3,4]向右轮转 1 步: [99,-1,-100,3]向右轮转 2 步: [3,99,-1,-100]输出: [5,6,7,1,2,3,4]原创 2024-09-01 23:42:57 · 154 阅读 · 0 评论 -
383. 赎金信
hash表存储在magazine中的每个字符的个数,在ransomNote中减去每个字符的个数,如果当前的字符在下一次出现前就已经为零了,那么直接返回false,否则为true。输入:ransomNote = “aa”, magazine = “aab”输入:ransomNote = “aa”, magazine = “ab”magazine 中的每个字符只能在 ransomNote 中使用一次。输入:ransomNote = “a”, magazine = “b”否则返回 false。原创 2024-09-04 19:20:19 · 162 阅读 · 0 评论 -
14.最长公共前缀
在一个字符串的数组中,那么一定会在字符串之间有着从小到大的排序,那么,我们求得的最长公共前缀不就是直接求最短的字符串和最长的字符串的前缀就可以,这俩的公共前缀一定符合其他所有长度在他们之间的字符串。既然代码一是按照行去比较,那么我们求得的最长公共前缀按照列的方式来看,不就是枚举第一个字符串的每项,再去和每一个字符串的每项去判断嘛,因此得到了按照列访问的方式,代码如下所示。对于所有的字符串去求前缀的交集,那么得到的就是最长公共前缀。输入:strs = [“dog”,“racecar”,“car”]原创 2024-09-03 22:12:12 · 304 阅读 · 0 评论 -
1.两数之和
创建一个哈希表,对于每一个 x,我们首先查询哈希表中是否存在 target - x,然后将 x 插入到哈希表中,即可保证不会让 x 和自己匹配。当我们使用遍历整个数组的方式寻找 target - x 时,需要注意到每一个位于 x 之前的元素都已经和 x 匹配过,因此不需要再进行匹配。解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1]。输入:nums = [2,7,11,15], target = 9。输入:nums = [3,2,4], target = 6。原创 2024-09-04 22:23:17 · 436 阅读 · 0 评论 -
202.快乐数
不要因为这个题目给出的整数是 int 型而投机取巧,如代码一所示,就有可能出现这种情况,因此代码二必须掌握,这是最基本的。建立hash表,各个位的数字的平方和与判断这个是否出现过的布尔值,如果没有出现过,标记一下,当此时这个数不等于1且重复出现时,那么说明根本回不到1,返回false,反之,递归求解或者直到这个数为1,返回true。使用 “快慢指针” 思想,找出循环:“快指针” 每次走两步,“慢指针” 每次走一步,当二者相等时,即为一个循环周期。如果这个过程 结果为 1,那么这个数就是快乐数。原创 2024-09-04 23:57:13 · 253 阅读 · 0 评论 -
151.反转字符串中的单词
进行反转从而完成整个数组的反转,通过该题可以先对于整个数组反转,再对每个单词反转,将最后得到的字符数组清除末位多余的空格,即可完成本题,如下是图示。注意:输入字符串 s中可能会存在前导空格、尾随空格或者单词间的多个空格。返回的结果字符串中,单词间应当仅用单个空格分隔,且不包含任何额外的空格。单词 是由非空格字符组成的字符串。s 中使用至少一个空格将字符串中的 单词 分隔开。解释:如果两个单词间有多余的空格,反转后的字符串需要将单词间的空格减少到仅有一个。解释:反转后的字符串中不能存在前导空格和尾随空格。原创 2024-09-04 10:09:45 · 282 阅读 · 0 评论 -
6.Z字形变换
之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:“PAHNAPLSIIGYIR”。将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。输入:s = “PAYPALISHIRING”, numRows = 3。输入:s = “PAYPALISHIRING”, numRows = 4。输入:s = “A”, numRows = 1。输出:“PAHNAPLSIIGYIR”输出:“PINALSIGYAHRPI”原创 2024-09-04 10:25:55 · 201 阅读 · 0 评论 -
68.文本左右对齐
输入:words = [“Science”,“is”,“what”,“we”,“understand”,“well”,“enough”,“to”,“explain”,“to”,“a”,“computer.”,“Art”,“is”,“everything”,“else”,“we”,“do”],maxWidth = 20。输入: words = [“This”, “is”, “an”, “example”, “of”, “text”, “justification.”], maxWidth = 16。原创 2024-09-04 17:18:24 · 252 阅读 · 0 评论