自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 leetcode刷题记录41-990. 等式方程的可满足性

最近在学习图论,这是一道经典的可以使用并查集解决的问题。我们构建一个并查集,其中把所有相等的元素,union起来,这样当遇到!=符号时,去检查并查集中这俩元素是否之前已经连接了,如果已经连接就返回false,直到最后都没返回就返回true。如果我们指定,a = 1 且 b = 1,那么可以满足第一个方程,但无法满足第二个方程。没有办法分配变量同时满足这两个方程。给定一个由表示变量之间关系的字符串方程组成的数组,每个字符串方程。我们可以指定 a = 1 且 b = 1 以满足满足这两个方程。

2024-06-14 13:27:44 107

原创 leetcode刷题记录40-886. 可能的二分法

二分图问题,从我学到的知识,应该主动将其理解成双色问题。就是用两种颜色来对图上色,如果最后能形成二分图,则满足题目要求。每个人都可能不喜欢其他人,那么他们不应该属于同一组。当可以用这种方法将所有人分进两组时,返回。), 我们想把每个人分进。,表示不允许将编号为。

2024-06-14 12:23:50 157

原创 leetcode刷题记录39-213. 打家劫舍 II

求0~n - 1范围内能偷到的最大值和1~n范围内能偷到的最大值,返回较大值即可。你不能先偷窃 1 号房屋(金额 = 2),然后偷窃 3 号房屋(金额 = 2), 因为他们是相邻的。你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金。这个地方所有的房屋都。,这意味着第一个房屋和最后一个房屋是紧挨着的。同时,相邻的房屋装有相互连通的防盗系统,你可以先偷窃 1 号房屋(金额 = 1),然后偷窃 3 号房屋(金额 = 3)。偷窃到的最高金额 = 1 + 3 = 4。,今晚能够偷窃到的最高金额。

2024-06-12 13:41:44 229

原创 leetcode刷题记录38-16. 最接近的三数之和

每组输入只存在一个解很关键。做法类似三数之和,我压根没仔细看数据范围,直接就是一个for循环 + 双指针压缩啊,类比着三数之和做。然后后续发现暴力也能过。与 target 最接近的和是 2 (-1 + 2 + 1 = 2)。贴一下暴力解法:(应该都能看懂我就不写注释了)中选出三个整数,使它们的和与。假定每组输入只存在恰好一个解。

2024-06-12 13:09:51 119

原创 leetcode刷题记录37-2476. 二叉搜索树最近节点查询

我的思路就是:首先题目给了一个二叉搜索树,我们直接中序遍历把树节点值全存一个数组arr里,易知这个数组有序,接着直接二分查找对应结点即可。- 树中小于等于 16 的最大值是 15 ,且大于等于 16 的最小值不存在。- 树中小于等于 2 的最大值是 2 ,且大于等于 2 的最小值也是 2。所以第一个查询的答案是 [2,2]。- 树中小于等于 5 的最大值是 4 ,且大于等于 5 的最小值是 6。树中不存在小于等于 3 的最大值,且大于等于 3 的最小值是 4。所以查询的答案是 [-1,4]。

2024-06-11 19:27:57 261

原创 leetcode刷题记录36-150. 逆波兰表达式求值

这道题其实读完题就能做出来了,是一个简单的栈应用题。主要问题是处理数字部分,需要手写一个字符串转数字的函数,转完之后就让他入栈就行。每次遇到运算符就直接从栈里拿头俩数,运算完把结果压栈里,一直到最后,返回栈顶元素即可。该算式转化为常见的中缀算术表达式为:(4 + (13 / 5)) = 6。该算式转化为常见的中缀算术表达式为:((2 + 1) * 3) = 9。逆波兰表达式是一种后缀表达式,所谓后缀就是指算符写在后面。返回一个表示表达式值的整数。

2024-06-11 17:27:04 366

原创 leetcode刷题记录35-419. 甲板上的战舰

今天的每日一题,进阶要求是O(1)的空间复杂度,并且不修改board的值,现在的我完全写不出来。说一下我的做法,类似岛屿问题,直接dfs。增加辅助数组visited来记录该战舰是否已经被计算到。两艘战舰之间至少有一个水平或垂直的空位分隔 (即没有相邻的战舰)。表示甲板,其中,每个单元格可以是一艘战舰。换句话说,战舰只能按。只能水平或者垂直放置在。列)的形状建造,其中。

2024-06-11 00:21:31 336

原创 leetcode刷题记录34-100297. 找到连续赢 K 场比赛的第一位玩家

我的解法是纯纯的模拟,用一个双端队列来模拟这个比赛全流程。每次取出队首两个元素进行比较,胜者继续留在队首,败者去队尾,一直到决出胜者。这里要注意,由于k可能非常大,所以我们要进行剪枝,去除不必要的循环,主要就是当一个人,他获胜的次数已经超过了数组元素的个数,那无论再怎么循环下去,都是他会成为最终胜者。周赛的第二题,我现在的实力也就做做第一第二题。位玩家在进行比赛,玩家编号依次为。场比赛,所以赢家是玩家 2。场比赛,所以赢家是玩家 1。请你返回这个比赛的赢家编号。一开始,队列里的玩家为。

2024-06-10 09:39:34 394

原创 leetcode刷题记录33-969. 煎饼排序

(主要是不知道啥是煎饼排序)主要思路就是,我们每次都要执行两次煎饼翻转,使得最大元素排序在最终排序好的位置。假如我们有[3, 2, 4, 1]这个数组,我们首先翻转,使得4到首位,然后再翻转,让4去末位。也就是[3, 2, 4, 1]->[4, 2, 3, 1]->[1, 3, 2, 4]3和4都到了对应位置,接下来继续执行上面的操作。我们执行 4 次煎饼翻转,k 值分别为 4,2,4,和 3。请注意,其他可能的答案,如 [3,3] ,也将被判断为正确。初始状态 arr = [3, 2, 4, 1]

2024-06-07 19:53:36 412

原创 leetcode刷题记录32-1664. 生成平衡数组的方案数

假设我们用prefixEven来代表偶数前缀和,prefixOdd来代表奇数前缀和,假设我们要删除的元素下标为i,很容易知道,该下标前面的前缀和都不变,我们姑且定义为leftEven和leftOdd。删除下标 0 :[1,6,4] -> 偶数元素下标为:1 + 4 = 5。删除下标 2 :[2,1,4] -> 偶数元素下标为:2 + 4 = 6。删除下标 3 :[2,1,6] -> 偶数元素下标为:2 + 6 = 8。删除下标 1 :[2,6,4] -> 偶数元素下标为:2 + 4 = 6。

2024-06-07 18:44:25 363

原创 leetcode刷题记录31-50. Pow(x, n)

这题需要使用到“快速幂算法”,例如我们要求x^8,那我们可以根据x,然后算出x^2,然后根据x^2来算出x^4,以此类推,而不需要每次都乘一个x。如果幂是奇数情况下需要多乘一个x。

2024-06-07 13:58:42 248

原创 leetcode刷题记录30-452. 用最少数量的箭引爆气球

跟“合并区间”思想十分接近的一道题,主要思路是先对数组进行排序,接着使用一个end来模拟边界,一旦出现一个边界外的数组就更新边界并使得ans++。-在x = 11处发射箭,击破气球[10,16]和[7,12]。- 在x = 2处发射箭,击破气球[1,2]和[2,3]。- 在x = 4处射出箭,击破气球[3,4]和[4,5]。-在x = 6处射出箭,击破气球[2,8]和[1,6]。处射出一支箭,若有一个气球的直径的开始和结束坐标为。你不知道气球的确切 y 坐标。每个气球需要射出一支箭,总共需要4支箭。

2024-06-03 17:31:33 197

原创 leetcode刷题记录29-135. 分发糖果

例如[1, 3, 2, 2, 1]这个数组,经过第一次得到的糖数组就是[1, 2, 1, 1, 1],可以看到这和我们需要得到的最终数组还有些不同。因此我们要进行第二次遍历,从右往左,如果当前的孩子小于前一个孩子并且前一个孩子糖数<=当前孩子糖数(这个比较很关键,如果第一轮已经满足要求就不需要再更新糖数组),前一个孩子糖数=当前孩子糖数+1。(印证了那句菜就多刷)事实上,读题发现其实问题就是要求我们根据给的rating数组,来规划一个分糖方案,在满足分数较高的要拿到更多的糖的基础上,计算出最少糖数。

2024-06-03 17:12:06 180

原创 leetcode刷题记录28-427. 建立四叉树

其实就是让我们根据一个矩阵来建立一个所谓的“四叉树”,这个四叉树有六个数据成员,分别是val(对应网格的一个值,如果四个方向的都是一个数就是该数值,如果有不同的话则随意,这里我用了1);事实上这需要我们遍历四个小方格,再对小方格里面的元素进行检查,看看是不是一个元素,如果不是就继续递归分小方格。topRight 具有不同的值,因此我们将其再分为 4 个子网格,这样每个子网格都具有相同的值。请注意,在下面四叉树的图示中,0 表示 false,1 表示 True。的 四叉树 的根结点。你需要返回能表示矩阵。

2024-05-31 11:31:29 863

原创 leetcode刷题记录27-130. 被围绕的区域

我简单说一下我正向的思路(遍历board数组,遇到一个O就进行dfs,但是这个dfs有一个需要关注的点,就是这个O是否和边界O相邻,一旦相邻,这些O都是不能改变的,我的本意是使用vector<vector<pair<int, int>>来存,其中vector<pair<int, int>>作为dfs的路径来存储,然后还要弄个flag标记是否和边界相邻,如果都遍历完了还不相邻,就把路径存大数组里。我都不知道要用多少变量。正确的路是反向思考,从边界值出发,去找和边界值相邻的O即可,这些O是不需要改成X的。

2024-05-30 12:49:22 266

原创 leetcode刷题记录26-236. 二叉树的最近公共祖先

首先要想清楚怎么去找到祖先,假设q是p的子节点,那么最近公共祖先就是p(因为根据定义最近公共祖先可以为节点本身),反之亦然。所以递归的终止条件就是if(root == p || root == q),执行递归就是要去左右子树里面找到p或者q,如果左右子树都有返回值,也就是都找到了,那意味着p和q分散在了左右子树中,那它们的公共祖先就是root;中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(

2024-05-30 10:53:08 409

原创 leetcode刷题记录25-289. 生命游戏

下一个状态是通过将上述规则同时应用于当前状态下的每个细胞所形成的,其中细胞的出生和死亡是同时发生的。对于一个格子,我们遍历八个方向,算一下活细胞的个数,然后把要求重新表达一下就行。个格子的面板,每一个格子都可以看成是一个细胞。,是英国数学家约翰·何顿·康威在 1970 年发明的细胞自动机。的当前状态,返回下一个状态。

2024-05-29 17:01:18 306

原创 leetcode刷题记录24-36. 有效的数独

最近在刷面试经典150题,这是一道经典的中文阅读理解题,只要把中文的要求翻译成代码就可以了,主要是需要注意遍历的范围。以外,空格内其他数字均与 示例1 相同。但由于位于左上角的 3x3 宫内有两个 8 存在, 因此这个数独是无效的。,验证已经填入的数字是否有效即可。除了第一行的第一个数字从。

2024-05-29 16:37:58 515

原创 leetcode刷题记录23-2981. 找出出现至少三次的最长特殊子字符串 I

我的方法比较简单暴力,首先如何判断一个字符串是特殊子字符串,我们需要单独写一个函数来判断。然后使用map,遍历所有的子串,因为长度只有3-50,所以大概率n^2也能过,把子串中的特殊子字符串及其出现的次数都存里面。然后遍历map,在其中出现3次以上的子字符串中寻找最大长度即可。的长度,如果不存在出现至少三次的特殊子字符串,则返回。出现三次的最长特殊子字符串是 "aa" :子字符串 "不存在出现至少三次的特殊子字符串。出现三次的最长特殊子字符串是 "a" :子字符串 "不是特殊字符串,而字符串。

2024-05-29 00:39:27 365

原创 leetcode刷题记录22-295. 数据流的中位数

首先,中位数的概念我们要知道,先把一个数组排序,然后如果数组个数是偶数,去找中间俩数求平均,奇数的话就是只要中间那个数。那么怎么对数组排序事实上是重中之重,因为一旦有序,只要一个for循环中位数就能出来。官解使用的是两个优先队列,但是我作为一个算法小白,在这里分享一下我的辣鸡做法,用multiset来做。// 返回 1.5 ((1 + 2) / 2)是有序整数列表中的中间值。如果列表的大小是偶数,则没有中间值,中位数是两个中间值的平均值。返回到目前为止所有元素的中位数。以内的答案将被接受。

2024-05-27 14:05:52 295

原创 leetcode刷题记录21-1143. 最长公共子序列

一道经典的二维dp问题,假设text1的长度为n,text2的长度为m,构建一个大小为n+1*m+1的dp数组,对应位置的元素为两个字符串到对应位置的子串中子序列的长度。是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。最长公共子序列是 "ace" ,它的长度为 3。最长公共子序列是 "abc" ,它的长度为 3。两个字符串没有公共子序列,返回 0。是这两个字符串所共同拥有的子序列。,返回这两个字符串的最长。

2024-05-27 13:34:08 134

原创 leetcode刷题记录20-739. 每日温度

单调栈打卡活动,每日温度。写完发现我的写法简直是浪费空间,简单说一下,我使用了栈结合pair,存了下标和温度(其实只存下标就可以了)。然后边for循环,边检查栈顶元素的温度是不是小于当前节点温度,小于就出栈并记录天数。天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用。,表示每天的温度,返回一个数组。

2024-05-25 15:13:27 281

原创 leetcode刷题记录19-51. N 皇后

首先,在放置皇后时,要检查是否满足条件(三个方向,上左上右上,这里使用check函数处理)。接下来就是套回溯模板即可。记录一下自己首次搓出这道经典中的经典N皇后问题,想想之前还是汗流浃背,看来我也成长了。按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。的棋盘上,并且使皇后彼此之间不能相互攻击。如上图所示,4 皇后问题存在两个不同的解法。的棋子放置方案,该方案中。每一种解法包含一个不同的。分别代表了皇后和空位。

2024-05-25 14:28:59 276

原创 leetcode刷题记录18-207. 课程表

记录一道经典的拓扑排序问题,算法思想是从别人学来的。首先用邻接表来存有联系的课程,创建一个代表入度大小的数组。从入度为0的节点开始,逐步解析课程。总共有 2 门课程。学习课程 1 之前,你需要先完成​课程 0;并且学习课程 0 之前,你还应先完成课程 1。总共有 2 门课程。学习课程 1 之前,你需要完成课程 0。在选修某些课程之前需要一些先修课程。请你判断是否可能完成所有课程的学习?,表示如果要学习课程。

2024-05-24 13:46:18 212 1

原创 leetcode刷题记录17-105. 从前序与中序遍历序列构造二叉树

根据先序序列的首位元素,结合中序序列对左右子树进行划分,并划分先序序列。如何划分是这个问题的难点。代码跟大多人的写法基本一样,你要问我为什么发原创,可能原因是因为这代码是我自己手打的。,请构造二叉树并返回其根节点。

2024-05-24 11:42:06 241

原创 leetcode刷题记录16-56. 合并区间

最近在刷力扣热题100,只能说基础不牢地动山摇。这个题的思路很简单,需要先对intervals这个二维数组进行排序,接着使用两个变量,一个start和一个end来维护左右边界,一次遍历就可以出结果。(排序的时间复杂度你怎么不说)区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间。区间 [1,4] 和 [4,5] 可被视为重叠区间。表示若干个区间的集合,其中单个区间为。请你合并所有重叠的区间,并返回。

2024-05-23 11:08:34 278 1

原创 leetcode刷题记录15-2225. 找出输掉零场或一场比赛的玩家

总之说一下我的方法:首先通过一个set来存储到底有几个人在比赛,记录对应的序号。然后用一个unordered_map来记录谁输了几场比赛,接着for遍历set,看看能不能在map里面找到,找不到就是没输,找到了值为1就是只输一场比赛。因此,answer[0] = [1,2,10] 和 answer[1] = [4,5,7,8]。因此,answer[0] = [1,2,5,6] 和 answer[1] = []。玩家 4、5、7 和 8 每个都输掉一场比赛。玩家 1、2、5 和 6 都没有输掉任何比赛。

2024-05-22 10:13:32 423

原创 leetcode刷题记录14-567. 字符串的排列

,同样是维护一个大小为26的vector数组即可(因为字符串只有小写字母)。s2 包含 s1 的排列之一 ("ba").记录一道标准的滑动窗口问题,这题的思路类似“

2024-05-21 18:46:32 284 1

原创 leetcode刷题记录13-2047. 句子中的有效单词数

这题的难点在于如何判断判断一个字符串是不是一个“有效单词”。(我也是err了一次才找到问题所在)其实就是考察你的阅读理解能力。句子中的有效单词是 "alice"、"and"、"bob"、"are" 和 "playing""1-s" 和 "b8d" 也不是有效单词,因为它们都包含数字。句子中的有效单词是 "cat"、"and" 和 "dog""stone-game10" 不是有效单词,因为它含有数字。this" 不是有效单词,因为它以一个标点开头。,这些 token 之间由一个或者多个空格。

2024-05-17 12:15:19 377

原创 leetcode刷题记录12-2244. 完成所有任务需要的最少轮数

我使用了一个dp数组,来计算有n个任务时需要的最少轮,同时使用一个哈希表来存储对应任务以及它出现的次数。难度级别为 2 的任务只有 1 个,但每一轮执行中,只能选择完成 2 个或者 3 个相同难度级别的任务。因此,无法完成所有任务,答案为 -1。可以证明,无法在少于 4 轮的情况下完成所有任务,所以答案为 4。- 第一轮,完成难度级别为 2 的 3 个任务。- 第二轮,完成难度级别为 3 的 2 个任务。- 第三轮,完成难度级别为 4 的 3 个任务。- 第四轮,完成难度级别为 4 的 2 个任务。

2024-05-14 09:44:09 134 1

原创 leetcode刷题记录11-1034. 边界着色

典型的dfs模板问题(当然也可以用bfs但我太菜了只有dfs比较熟练一点所以用的dfs),这道题主要是要考虑分两步来算,首先第一步先用dfs,标记所有的连通分量,然后第二步判断是不是连通分量的边界。如果两个方块具有相同的颜色且相邻,它们则属于同一个。如果两个方块在任意 4 个方向上相邻,则称它们。网格中的每个值表示该位置处的网格块的颜色。

2024-05-09 21:27:26 303

原创 leetcode刷题记录10-2288. 价格减免

思路很简单,用流处理接受到的每一个字符串,如果字符串是“价格”,那我们就对价格处理然后加入我们的最终字符串。(但是实际操作要用到很多东西)- "$1" 减免 50% 为 "$0.50" ,所以 "$1" 替换为 "$0.50"。- "$2" 减免 50% 为 "$1" ,所以 "$1" 替换为 "$1.00"。表示价格的单词分别是 "$3"、"$5"、"$6" 和 "$9"。对于每个表示价格的单词,都在价格的基础上减免。表示价格的单词是 "$1" 和 "$2"。每个单词都替换为 "$0.00"。

2024-05-08 10:47:47 261

原创 leetcode刷题记录09-981. 基于时间的键值存储

/ 返回 "bar", 因为在时间戳 3 和时间戳 2 处没有对应 "foo" 的值,所以唯一的值位于时间戳 1 处(即 "bar")。// 存储键 "foo" 和值 "bar" ,时间戳 timestamp = 1。// 存储键 "foo" 和值 "bar2" ,时间戳 timestamp = 4。// 返回 "bar2"// 返回 "bar2"""暴力"",过了44/51的案例。

2024-05-08 10:14:06 223

原创 leetcode刷题记录08-1109. 航班预订统计

大致解题思路就是,我们要明白,能使得最终结果产生变化的,只有每张预定表的第一个座位和结束的位置下一个座位。预订记录 3 : 25 25 25 25。总座位数: 10 55 45 25 25。因此,answer = [10,55,45,25,25]预订记录 2 : 20 20。,里面的元素是每个航班预定的座位总数。因此,answer = [10,25]预订记录 1 : 10 10。预订记录 1 : 10 10。预订记录 2 : 15。

2024-05-06 21:33:58 275 1

原创 leetcode刷题记录07-846. 一手顺子

一眼连续子集问题,并且还给了子集的长度,直接用最基本直接的思路,来解决这种问题。不难知道,如果要找一个连续的子集,肯定用较小的元素来开头。因此我们用一个map来记录元素及其出现次数。遍历完map即可,最后map为空就return true,不然就false。Alice 手中有一把牌,她想要重新排列这些牌,分成若干组,使每一组的牌数都是。Alice 手中的牌无法被重新排列成几个大小为 4 的组。Alice 手中的牌可以被重新排列为。如果她可能重新排列这些牌,返回。

2024-05-06 12:48:59 191

原创 leetcode刷题记录06-2461. 长度为 K 子数组中的最大和

分析题意,我们可以用一个数据结构来存长度为k的子数组,这个数据结构可以直接用map,我们用map来记录对应元素和他出现的次数,只要mp.size()==k,那么我们这个子数组就满足题意。因为 15 是满足全部条件的所有子数组中的最大子数组和,所以返回 15。- [2,9,9] 不满足全部条件,因为元素 9 出现重复。- [9,9,9] 不满足全部条件,因为元素 9 出现重复。- [4,4,4] 不满足全部条件,因为元素 4 出现重复。- [4,2,9] 满足全部条件,和为 15。

2024-04-27 19:56:26 140

原创 leetcode刷题记录05-2591. 将钱分给最多的儿童

日更这种事情我只能说不是正常人可以做到的好吧,一闲下来就想摸鱼啊!咳咳,回归这道力扣上的“简单”题,err了4次才过,我的脑子真的太简单了。首先分析题目,简单总结来说就是给我们一堆钱和一堆孩子,每个孩子最少拿一块钱,不能拿4块钱,我们要尽可能给孩子8块钱,求拿到8块钱孩子的个数。最多获得 8 美元的儿童数为 1。没有分配方案能让获得 8 美元的儿童数超过 1。,表示你要将钱分配给多少个儿童。- 给第一个儿童分配 8 美元。- 给第二个儿童分配 9 美元。- 给第三个儿童分配 3 美元。

2024-04-27 19:32:52 170

原创 leetcode刷题记录04-2780. 合法分割的最小下标

两个数组 [2,1,3,1,1] 和 [1,7,1,2,1] 都有与 nums 一样的支配元素,所以这是一个合法分割。数组 [2,1,3,1,1] 中,元素 1 是支配元素,因为它在数组中出现了 3 次,且 3 * 2 > 5。数组 [1,7,1,2,1] 中,元素 1 是支配元素,因为它在数组中出现了 3 次,且 3 * 2 > 5。我们将数组在下标 4 处分割,得到 [2,1,3,1,1] 和 [1,7,1,2,1]。我们将数组在下标 2 处分割,得到 [1,2,2] 和 [2]。

2024-04-26 12:23:20 393 2

原创 leetcode刷题记录03-1233. 删除子文件夹

首先对这个string数组排序(这步是为了让子文件夹一定出现在父文件夹后面),然后我们祭出我们的stringstream,注意我们通过‘/’分割string,例如/a/b/c得到的是诸如a b c这样的,我们用一个string来不断加他们然后和set里面的比,如果找到了父亲就给他删掉(这段我感觉我表达能力不如AI),最后把满足条件的加入到res数组里。"/a/b" 是 "/a" 的子文件夹,而 "/c/d/e" 是 "/c/d" 的子文件夹。你是一位系统管理员,手里有一份文件夹列表。

2024-04-25 16:52:03 374 1

原创 leetcode刷题记录02-3121. 统计特殊字母的数量 II

(一口气真长在英语里这也是长难句)。那么我们不难思考,事实上我们只需要记录四个状态:没出现,先出现小写,出现了小写之后出现了大写,先出现大写。我们分别用0,1,2,-1四个数字来表示状态,建立一个大小为26的visited数组来对字母进行映射。读完题目我们能明白,只有一个字母先出现了小写并且后来出现了大写且再没出现过小写直到一个字符串的尽头才算一个。的小写形式和大写形式,并且每个小写形式的。都出现在第一个大写形式的。中 特殊字母的数量。

2024-04-25 16:09:20 191

空空如也

空空如也

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

TA关注的人

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