
算法
tangshuai96
探索者
展开
-
百度笔试-第二题 有效数字123求最大值
代码package com.example.demo.baidu;import java.util.Scanner;public class Main2 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = Integer.parseInt(sc.nextLine()); String[] array = new Stri原创 2021-09-07 21:13:13 · 183 阅读 · 0 评论 -
科大讯飞秋招8.15第一题
题目描述给一个整数,变为2进制形式,将倒数第二个0改为1,输出结果如 10 -> 14 10的二进制1010->11106->14 6的二进制110->1110解题思路如果输入的是偶数,那么末端为0,依次找出第二个0改为1即可^运算相同为0,不同为1取2的倍数依次与输入的数做异或运算,当结果大于输入值时,第二个数找到如果是奇数,重复上述操作,改变的是第一个值,记录当前的异或数再次重复,改变第二个0 得到中间结果用中间结果 减去异或数,得到最终结果!代码展示im原创 2021-08-16 10:15:13 · 366 阅读 · 0 评论 -
有效三角形的个数-triangleNumber
题意给定一个包含非负整数的数组,你的任务是统计其中可以组成三角形三条边的三元组个数。示例 1:输入: [2,2,3,4]输出: 3解释:有效的组合是:2,3,4 (使用第一个 2)2,3,4 (使用第二个 2)2,2,3注意:数组长度不超过1000。数组里整数的范围为 [0, 1000]。解题思路三角形定理,两条较小边大于第三边双指针指向两个较小边找第三边(ps大于两条小边)具体代码class Solution { public int triangleNumb原创 2021-08-04 10:34:03 · 629 阅读 · 0 评论 -
矩阵中战斗力最弱的k行-kWeakestRows
题意给你一个大小为 m * n 的矩阵 mat,矩阵由若干军人和平民组成,分别用 1 和 0 表示。请你返回矩阵中战斗力最弱的 k 行的索引,按从最弱到最强排序。如果第 i 行的军人数量少于第 j 行,或者两行军人数量相同但 i 小于 j,那么我们认为第 i 行的战斗力比第 j 行弱。军人 总是 排在一行中的靠前位置,也就是说 1 总是出现在 0 之前。示例 1:输入:mat =[[1,1,0,0,0],[1,1,1,1,0],[1,0,0,0,0],[1,1,0,0,0],[1,1,原创 2021-08-01 09:59:34 · 150 阅读 · 0 评论 -
绝对差值和
问题描述给你两个正整数数组 nums1 和 nums2 ,数组的长度都是 n 。数组 nums1 和 nums2 的 绝对差值和 定义为所有 |nums1[i] - nums2[i]|(0 <= i < n)的 总和(下标从 0 开始)。你可以选用 nums1 中的 任意一个 元素来替换 nums1 中的 至多 一个元素,以 最小化 绝对差值和。在替换数组 nums1 中最多一个元素 之后 ,返回最小绝对差值和。因为答案可能很大,所以需要对 109 + 7 取余 后返回。|x| 定义原创 2021-07-14 14:35:24 · 1080 阅读 · 1 评论 -
大餐计数- countPairs
题目描述大餐 是指 恰好包含两道不同餐品 的一餐,其美味程度之和等于 2 的幂。你可以搭配 任意 两道餐品做一顿大餐。给你一个整数数组 deliciousness ,其中 deliciousness[i] 是第 i 道餐品的美味程度,返回你可以用数组中的餐品做出的不同 大餐 的数量。结果需要对 109 + 7 取余。注意,只要餐品下标不同,就可以认为是不同的餐品,即便它们的美味程度相同。示例 1:输入:deliciousness = [1,3,5,7,9]输出:4原创 2021-07-07 10:06:01 · 263 阅读 · 0 评论 -
Excel表列名称
题意给定一个正整数,返回它在 Excel 表中相对应的列名称。例如, 1 -> A2 -> B3 -> C...26 -> Z27 -> AA28 -> AB ...示例 1:输入: 1输出: “A”示例 2:输入: 28输出: “AB”示例 3:输入: 701输出: “ZY”解题思路26进制数26表示为z并不是A0代码演示class Solution { char[] numbers; StringBui原创 2021-06-29 11:53:54 · 223 阅读 · 0 评论 -
汉明距离总和-totalHammingDistance
题意两个整数的 汉明距离 指的是这两个数字的二进制数对应位不同的数量。计算一个数组中,任意两个数之间汉明距离的总和。示例:输入: 4, 14, 2输出: 6解释: 在二进制表示中,4表示为0100,14表示为1110,2表示为0010。(这样表示是为了体现后四位之间关系)所以答案为:HammingDistance(4, 14) + HammingDistance(4, 2) + HammingDistance(14, 2) = 2 +2 + 2 = 6.注意:数组中元素的范围为从 0到原创 2021-05-28 09:55:46 · 216 阅读 · 0 评论 -
minDays-制作m束花所需的最少天数
题意给你一个整数数组 bloomDay,以及两个整数 m 和 k 。现需要制作 m 束花。制作花束时,需要使用花园中 相邻的 k 朵花 。花园中有 n 朵花,第 i 朵花会在 bloomDay[i] 时盛开,恰好 可以用于 一束 花中。请你返回从花园中摘 m 束花需要等待的最少的天数。如果不能摘到 m 束花则返回 -1 。示例 1:输入:bloomDay = [1,10,3,10,2], m = 3, k = 1输出:3解释:让我们一起观察这三天的花开过程,x 表示花开,而 _ 表示花还未开原创 2021-05-09 16:06:12 · 247 阅读 · 0 评论 -
isUgly-丑数
题意给你一个整数 n ,请你判断 n 是否为 丑数 。如果是,返回 true ;否则,返回 false 。丑数 就是只包含质因数 2、3 和/或 5 的正整数。示例 1:输入:n = 6输出:true解释:6 = 2 × 3示例 2:输入:n = 8输出:true解释:8 = 2 × 2 × 2示例 3:输入:n = 14输出:false解释:14 不是丑数,因为它包含了另外一个质因数 7 。示例 4:输入:n = 1输出:true解释:1 通常被视为丑数。提示:-2原创 2021-04-10 09:35:21 · 459 阅读 · 0 评论 -
findMin-寻找旋转排序数组中的最小值
题意已知一个长度为 n 的数组,预先按照升序排列,经由 1 到 n 次 旋转 后,得到输入数组。例如,原数组 nums = [0,1,2,4,5,6,7] 在变化后可能得到:若旋转 4 次,则可以得到 [4,5,6,7,0,1,2]若旋转 4 次,则可以得到 [0,1,2,4,5,6,7]注意,数组 [a[0], a[1], a[2], …, a[n-1]] 旋转一次 的结果为数组 [a[n-1], a[0], a[1], a[2],…, a[n-2]] 。给你一个元素值 互不相同 的数组 n原创 2021-04-08 09:15:03 · 1060 阅读 · 0 评论 -
removeDuplicates-删除重复项
解题思路思路将元素删除,移动后面元素向前,最后的元素不管,同时更新长度(利用双指针解决,可以跳过重复元素,减少移动的次数)代码演示class Solution { public int removeDuplicates(int[] nums) { if(nums.length<3) return nums.length; int len=nums.length; //一组数的前后指针 int pre原创 2021-04-07 10:28:44 · 4071 阅读 · 3 评论 -
trap-直方图的水量
题意给定一个直方图(也称柱状图),假设有人从上面源源不断地倒水,最后直方图能存多少水量?直方图的宽度为 1。上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的直方图,在这种情况下,可以接 6 个单位的水(蓝色部分表示水)。 感谢 Marcos 贡献此图。示例:输入: [0,1,0,2,1,0,1,3,2,1,2,1]输出: 6Related Topics 栈 数组 双指针解题思路演示代码class Solution { Stack<Integer&g原创 2021-04-02 09:52:56 · 195 阅读 · 0 评论 -
searchMatrix-搜索二维矩阵
题意编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值。该矩阵具有如下特性:每行中的整数从左到右按升序排列。每行的第一个整数大于前一行的最后一个整数。示例 1:输入:matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 3输出:true示例 2:输入:matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 13输出:false提示:m == mat原创 2021-03-30 10:27:00 · 457 阅读 · 0 评论 -
leetcode周赛234-二,三题
第二题题意给你一个偶数 n ,已知存在一个长度为 n 的排列 perm ,其中 perm[i] == i(下标 从 0 开始 计数)。一步操作中,你将创建一个新数组 arr ,对于每个 i :如果 i % 2 == 0 ,那么 arr[i] = perm[i / 2]如果 i % 2 == 1 ,那么 arr[i] = perm[n / 2 + (i - 1) / 2]然后将 arr 赋值给 perm 。要想使 perm 回到排列初始值,至少需要执行多少步操作?返回最小的原创 2021-03-28 16:04:28 · 238 阅读 · 0 评论 -
BSTIterator-二叉搜索树迭代器
题意实现一个二叉搜索树迭代器类BSTIterator ,表示一个按中序遍历二叉搜索树(BST)的迭代器:BSTIterator(TreeNode root) 初始化 BSTIterator 类的一个对象。BST 的根节点 root 会作为构造函数的一部分给出。指针应初始化为一个不存在于 BST 中的数字,且该数字小于 BST 中的任何元素。boolean hasNext() 如果向指针右侧遍历存在数字,则返回 true ;否则返回 false 。int next()将指针向右移动,然后返回指针处的原创 2021-03-28 09:45:17 · 393 阅读 · 0 评论 -
rotateRight-旋转链表
题意给你一个链表的头节点 head ,旋转链表,将链表每个节点向右移动 k 个位置。示例 1:输入:head = [1,2,3,4,5], k = 2输出:[4,5,1,2,3]示例 2:输入:head = [0,1,2], k = 4输出:[2,0,1]提示:链表中节点的数目在范围 [0, 500] 内-100 <= Node.val <= 1000 <= k <= 2 * 109解题思路我们将单向链表变为循环链表,之后只要找到断点断开即可代码演示c原创 2021-03-27 11:56:00 · 266 阅读 · 0 评论 -
NestedIterator-扁平化嵌套列表迭代器
题意给你一个嵌套的整型列表。请你设计一个迭代器,使其能够遍历这个整型列表中的所有整数。列表中的每一项或者为一个整数,或者是另一个列表。其中列表的元素也可能是整数或是其他列表。示例 1:输入: [[1,1],2,[1,1]]输出: [1,1,2,1,1]解释: 通过重复调用 next 直到 hasNext 返回 false,next 返回的元素的顺序应该是: [1,1,2,1,1]。示例 2:输入: [1,[4,[6]]]输出: [1,4,6]解释: 通过重复调用 next 直到 hasN原创 2021-03-23 10:01:08 · 285 阅读 · 0 评论 -
reverseBetween-反转链表
题意反转从位置 m 到 n 的链表。请使用一趟扫描完成反转。说明:1 ≤ m ≤ n ≤ 链表长度。示例:输入: 1->2->3->4->5->NULL, m = 2, n = 4输出: 1->4->3->2->5->NULL题意不是很难,直接上代码代码演示/** * Definition for singly-linked list. * public class ListNode { * int val; *原创 2021-03-18 11:06:33 · 449 阅读 · 0 评论 -
spiralOrder-螺旋矩阵
题意给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。示例 1:输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]输出:[1,2,3,6,9,8,7,4,5]示例 2:输入:matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]输出:[1,2,3,4,8,12,11,10,9,5,6,7]提示:m == matrix.lengthn == matrix[i].length1 <=原创 2021-03-15 16:12:22 · 433 阅读 · 0 评论 -
isValidSerialization-验证二叉树的额前序序列化
题意序列化二叉树的一种方法是使用前序遍历。当我们遇到一个非空节点时,我们可以记录下这个节点的值。如果它是一个空节点,我们可以使用一个标记值记录,例如 #。 _9_/ \3 2/ \ / 4 1 # 6/ \ / \ / \# # # #例如,上面的二叉树可以被序列化为字符串 “9,3,4,#,#,1,#,#,2,#,6,#,#”,其中 # 代表一个空节点。给定一串以逗号分隔的序列,验证它是否是正确的二叉树的前序序列化。编写一个在不重构树的条件下的可行算原创 2021-03-12 20:37:40 · 150 阅读 · 0 评论 -
calculate-基本计算题
题意:实现一个基本的计算器来计算一个简单的字符串表达式 s 的值。示例 1:输入:s = “1 + 1”输出:2示例 2:输入:s = " 2-1 + 2 "输出:3示例 3:输入:s = “(1+(4+5+2)-3)+(6+8)”输出:23提示:1 <= s.length <= 3 * 105s 由数字、’+’、’-’、’(’、’)’、和 ’ ’ 组成s 表示一个有效的表达式Related Topics 栈 数学解题思路建立一个栈,只要不是’)‘,我们就将s原创 2021-03-10 14:58:42 · 647 阅读 · 0 评论 -
MyQueue-用栈实现队列
题意请你仅使用两个栈实现先入先出队列。队列应当支持一般队列的支持的所有操作(push、pop、peek、empty):实现 MyQueue 类:void push(int x) 将元素 x 推到队列的末尾int pop() 从队列的开头移除并返回元素int peek() 返回队列开头的元素boolean empty() 如果队列为空,返回 true ;否则,返回 false说明:你只能使用标准的栈操作 —— 也就是只有 push to top, peek/pop from top, size原创 2021-03-05 10:16:32 · 1412 阅读 · 1 评论 -
NumMatrix-二维区域和检索-矩阵不可变
题意给定一个二维矩阵,计算其子矩形范围内元素的总和,该子矩阵的左上角为 (row1, col1) ,右下角为 (row2, col2)。上图子矩阵左上角 (row1, col1) = (2, 1) ,右下角(row2, col2) = (4, 3),该子矩形内元素的总和为 8。示例:给定 matrix = [[3, 0, 1, 4, 2],[5, 6, 3, 2, 1],[1, 2, 0, 1, 5],[4, 1, 0, 1, 7],[1, 0, 3, 0, 5]]sumRegion原创 2021-03-02 10:33:37 · 211 阅读 · 0 评论 -
maxSatisfied-爱生气的书店老板
题意今天,书店老板有一家店打算试营业 customers.length 分钟。每分钟都有一些顾客(customers[i])会进入书店,所有这些顾客都会在那一分钟结束后离开。在某些时候,书店老板会生气。 如果书店老板在第 i 分钟生气,那么 grumpy[i] = 1,否则 grumpy[i] = 0。 当书店老板生气时,那一分钟的顾客就会不满意,不生气则他们是满意的。书店老板知道一个秘密技巧,能抑制自己的情绪,可以让自己连续 X 分钟不生气,但却只能使用一次。请你返回这一天营业下来,最多有多少原创 2021-02-23 16:12:34 · 99 阅读 · 0 评论 -
isToeplitzMatrix-托普利茨矩阵
题意给你一个 m x n 的矩阵 matrix 。如果这个矩阵是托普利茨矩阵,返回 true ;否则,返回 false 。如果矩阵上每一条由左上到右下的对角线上的元素都相同,那么这个矩阵是 托普利茨矩阵 。示例 1:输入:matrix = [[1,2,3,4],[5,1,2,3],[9,5,1,2]]输出:true解释:在上述矩阵中, 其对角线为:“[9]”, “[5, 5]”, “[1, 1, 1]”, “[2, 2, 2]”, “[3, 3]”, “[4]”。各条对角线上的所有元素均相原创 2021-02-22 18:29:03 · 148 阅读 · 0 评论 -
longestOnes-最大连续1的个数III
题意给定一个由若干 0 和 1 组成的数组 A,我们最多可以将 K 个值从 0 变成 1 。返回仅包含 1 的最长(连续)子数组的长度。示例 1:输入:A = [1,1,1,0,0,0,1,1,1,1,0], K = 2输出:6解释:[1,1,1,0,0,1,1,1,1,1,1]粗体数字从 0 翻转到 1,最长的子数组长度为 6。示例 2:输入:A = [0,0,1,1,0,0,1,1,1,0,1,1,0,0,0,1,1,1,1], K = 3输出:10解释:[0,0,1,1,1,原创 2021-02-19 13:44:58 · 202 阅读 · 0 评论 -
matrixReshape-重塑矩阵
题意在MATLAB中,有一个非常有用的函数 reshape,它可以将一个矩阵重塑为另一个大小不同的新矩阵,但保留其原始数据。给出一个由二维数组表示的矩阵,以及两个正整数r和c,分别表示想要的重构的矩阵的行数和列数。重构后的矩阵需要将原始矩阵的所有元素以相同的行遍历顺序填充。如果具有给定参数的reshape操作是可行且合理的,则输出新的重塑矩阵;否则,输出原始矩阵。示例 1:输入:nums =[[1,2],[3,4]]r = 1, c = 4输出:[[1,2,3,4]]解释:行遍历原创 2021-02-17 11:02:19 · 876 阅读 · 0 评论 -
maxScore-可获得的最大点数
题意几张卡牌 排成一行,每张卡牌都有一个对应的点数。点数由整数数组 cardPoints 给出。每次行动,你可以从行的开头或者末尾拿一张卡牌,最终你必须正好拿 k 张卡牌。你的点数就是你拿到手中的所有卡牌的点数之和。给你一个整数数组 cardPoints 和整数 k,请你返回可以获得的最大点数。示例 1:输入:cardPoints = [1,2,3,4,5,6,1], k = 3输出:12解释:第一次行动,不管拿哪张牌,你的点数总是 1 。但是,先拿最右边的卡牌将会最大化你的可获得点数。最优原创 2021-02-06 11:12:55 · 1202 阅读 · 0 评论 -
equalSubstring-尽可能使字符串相等
题目给你两个长度相同的字符串,s 和 t。将 s 中的第 i 个字符变到 t 中的第 i 个字符需要 |s[i] - t[i]| 的开销(开销可能为 0),也就是两个字符的 ASCII 码值的差的绝对值。用于变更字符串的最大预算是 maxCost。在转化字符串时,总开销应当小于等于该预算,这也意味着字符串的转化可能是不完全的。如果你可以将 s 的子字符串转化为它在 t 中对应的子字符串,则返回可以转化的最大长度。如果 s 中没有子字符串可以转化成 t 中对应的子字符串,则返回 0。示例 1:原创 2021-02-05 19:52:26 · 118 阅读 · 0 评论 -
findMaxAverage-子数组最大平均数I
题目要求给定 n 个整数,找出平均数最大且长度为 k 的连续子数组,并输出该最大平均数。示例:输入:[1,12,-5,-6,50,3], k = 4输出:12.75解释:最大平均数 (12-5-6+50)/4 = 51/4 = 12.75提示:1 <= k <= n <= 30,000。所给数据范围 [-10,000,10,000]。解题思路此题为简单题1.记一个变量maxsun最大值,用来存放所有窗口中的最大值(随着窗口的移动会更新)2.记一个变量sumIn记录当原创 2021-02-04 10:36:07 · 210 阅读 · 0 评论 -
medianSlidingWindow-滑动窗口中位数
题目说明中位数是有序序列最中间的那个数。如果序列的大小是偶数,则没有最中间的数;此时中位数是最中间的两个数的平均数。例如:[2,3,4],中位数是 3[2,3],中位数是 (2 + 3) / 2 = 2.5给你一个数组 nums,有一个大小为 k 的窗口从最左端滑动到最右端。窗口中有 k 个数,每次窗口向右移动 1 位。你的任务是找出每次窗口移动后得到的新窗口中元素的中位数,并输出由它们组成的数组。示例:给出 nums = [1,3,-1,-3,5,3,6,7],以及 k = 3。窗口位置原创 2021-02-03 11:39:02 · 144 阅读 · 2 评论 -
characterReplacement-替换后的的最长重复字符
题目说明给你一个仅由大写英文字母组成的字符串,你可以将任意位置上的字符替换成另外的字符,总共可最多替换 k 次。在执行上述操作后,找到包含重复字母的最长子串的长度。注意:字符串长度 和 k 不会超过 104。示例 1:输入:s = “ABAB”, k = 2输出:4解释:用两个’A’替换为两个’B’,反之亦然。示例 2:输入:s = “AABABBA”, k = 1输出:4解释:将中间的一个’A’替换为’B’,字符串变为 “AABBBBA”。子串 “BBBB” 有最长重复字母, 答案原创 2021-02-02 10:26:07 · 311 阅读 · 0 评论 -
merge-合并两个有序数组
题意给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组。初始化 nums1 和 nums2 的元素数量分别为 m 和 n 。你可以假设 nums1 的空间大小等于 m + n,这样它就有足够的空间保存来自 nums2 的元素。示例 1:输入:nums1 = [1,2,3,0,0,0], m = 3, nums2 = [2,5,6], n = 3输出:[1,2,2,3,5,6]示例 2:输入:nums1 = [1],原创 2021-02-01 11:53:18 · 548 阅读 · 0 评论 -
pivotIndex-寻找数组的中心索引
题意给定一个整数类型的数组 nums,请编写一个能够返回数组 “中心索引” 的方法。我们是这样定义数组 中心索引 的:数组中心索引的左侧所有元素相加的和等于右侧所有元素相加的和。如果数组不存在中心索引,那么我们应该返回 -1。如果数组有多个中心索引,那么我们应该返回最靠近左边的那一个。示例 1:输入:nums = [1, 7, 3, 6, 5, 6]输出:3解释:索引 3 (nums[3] = 6) 的左侧数之和 (1 + 7 + 3 = 11),与右侧数之和 (5 + 6 = 11) 相原创 2021-01-28 10:55:12 · 950 阅读 · 0 评论 -
deleteDuplicates-删除排序链表中的重复元素
题目说明给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。示例 1:输入: 1->1->2输出: 1->2示例 2:输入: 1->1->2->3->3输出: 1->2->3解题思路1.记两个变量l(固定),r(向右移动)2.排序问题遇到重复数字-遇到转折数(-与之前的数不一样或者不满足什么条件)3.l指到r,l重新固定到r,r继续重复24.当最后l与r指向同一类数字,也就是说之后没有转折数(做特殊处理,参考代码)代码原创 2021-01-27 22:17:24 · 829 阅读 · 0 评论 -
findLengthOfLCIS-最长连续递增数列
题意:给定一个未经排序的整数数组,找到最长且 连续递增的子序列,并返回该序列的长度。连续递增的子序列 可以由两个下标 l 和 r(l < r)确定,如果对于每个 l <= i < r,都有 nums[i] < nums[i + 1] ,那么子序列 [nums[l], nums[l + 1], …, nums[r - 1], nums[r]] 就是连续递增子序列。示例 1:输入:nums = [1,3,5,4,7]输出:3解释:最长连续递增序列是 [1,3,5], 长度为原创 2021-01-24 10:55:51 · 361 阅读 · 0 评论 -
addToArrayForm-数组形式的整数加法
题意对于非负整数 X 而言,X 的数组形式是每位数字按从左到右的顺序形成的数组。例如,如果 X = 1231,那么其数组形式为 [1,2,3,1]。给定非负整数 X 的数组形式 A,返回整数 X+K 的数组形式。示例 1:输入:A = [1,2,0,0], K = 34输出:[1,2,3,4]解释:1200 + 34 = 1234示例 2:输入:A = [2,7,4], K = 181输出:[4,5,5]解释:274 + 181 = 455示例 3:输入:A = [2,1,5], K原创 2021-01-22 11:21:41 · 205 阅读 · 1 评论 -
checkStraightLine-缀点成线
题意在一个 XY 坐标系中有一些点,我们用数组 coordinates 来分别记录它们的坐标,其中 coordinates[i] = [x, y] 表示横坐标为x、纵坐标为 y 的点。请你来判断,这些点是否在该坐标系中属于同一条直线上,是则返回 true,否则请返回 false。示例 1:输入:coordinates = [[1,2],[2,3],[3,4],[4,5],[5,6],[6,7]]输出:true示例 2:输入:coordinates = [[1,1],[2,2],[3,4]原创 2021-01-17 09:44:50 · 205 阅读 · 3 评论 -
largeGroupPositions-较大分组的位置
题意在一个由小写字母构成的字符串 s 中,包含由一些连续的相同字符所构成的分组。例如,在字符串 s = “abbxxxxzyy” 中,就含有 “a”, “bb”, “xxxx”, “z” 和 “yy” 这样的一些分组。分组可以用区间 [start, end] 表示,其中 start 和 end 分别表示该分组的起始和终止位置的下标。上例中的 “xxxx” 分组用区间表示为 [3,6] 。我们称所有包含大于或等于三个连续字符的分组为 较大分组 。找到每一个 较大分组 的区间,按起始位置下标递增顺序原创 2021-01-05 10:53:37 · 205 阅读 · 0 评论