
LeetCode
文章平均质量分 62
淡雅的惆怅
满怀对重逢的期待。
展开
-
查询带键的排列(c++)
给你一个待查数组 queries ,数组中的元素为 1 到 m 之间的正整数。 请你根据以下规则处理所有待查项 queries[i](从 i=0 到 i=queries.length-1):一开始,排列 P=[1,2,3,…,m]。 对于当前的 i ,请你找出待查项 queries[i] 在排列 P 中的位置(下标从 0开始),然后将其从原位置移动到排列 P 的起始位置(即下标为 0 处)。注意, queries[i] 在 P 中的位置就是queries[i] 的查询结果。 请你以数组形式返回待查数组 .原创 2022-02-16 16:59:46 · 358 阅读 · 0 评论 -
隐藏个人信息c++/c
给你一条个人信息字符串 s ,可能表示一个 邮箱地址 ,也可能表示一串 电话号码 。返回按如下规则 隐藏 个人信息后的结果:电子邮件地址:一个电子邮件地址由以下部分组成:一个 名字 ,由大小写英文字母组成,后面跟着 一个 ‘@’ 字符,后面跟着 一个 域名 ,由大小写英文字母和一个位于中间的 ‘.’字符组成。’.’ 不会是域名的第一个或者最后一个字符。 要想隐藏电子邮件地址中的个人信息:名字 和 域名 部分的大写英文字母应当转换成小写英文字母。 名字 中间的字母(即,除第一个和最后一个字母外)必.原创 2022-02-12 16:58:24 · 754 阅读 · 0 评论 -
最简分数c++/c
最简分数给你一个整数 n ,请你返回所有 0 到 1 之间(不包括 0 和 1)满足分母小于等于 n 的 最简 分数 。分数可以以 任意 顺序返回。示例 1:输入:n = 2 输出:[“1/2”] 解释:“1/2” 是唯一一个分母小于等于 2 的最简分数。 示例 2:输入:n = 3 输出:[“1/2”,“1/3”,“2/3”] 示例 3:输入:n = 4 输出:[“1/2”,“1/3”,“1/4”,“2/3”,“3/4”] 解释:“2/4” 不是最简分数,因为它可以化简为“1/2” 。 示原创 2022-02-10 14:43:51 · 1796 阅读 · 0 评论 -
电话号码的字母组合
电话号码的字母组合给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例 1:输入:digits = “23” 输出:[“ad”,“ae”,“af”,“bd”,“be”,“bf”,“cd”,“ce”,“cf”]示例 2:输入:digits = “” 输出:[]示例 3:输入:digits = “2” 输出:[“a”,“b”,“c”]提示:0 <= digits.原创 2022-02-09 17:26:08 · 259 阅读 · 0 评论 -
差的绝对值为 K 的数对数目
差的绝对值为 K 的数对数目给你一个整数数组 nums 和一个整数 k ,请你返回数对 (i, j) 的数目,满足 i < j 且 |nums[i] - nums[j]| == k 。|x| 的值定义为:如果 x >= 0 ,那么值为 x 。 如果 x < 0 ,那么值为 -x 。示例 1:输入:nums = [1,2,2,1], k = 1 输出:4 解释:差的绝对值为 1 的数对为:[1,2,2,1][1,2,2,1][1,2,2,1][1,2,2,1] 示例 2原创 2022-02-09 11:42:19 · 541 阅读 · 0 评论 -
最接近的三数之和
最接近的三数之和给你一个长度为 n 的整数数组 nums 和 一个目标值 target。请你从 nums 中选出三个整数,使它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在恰好一个解。示例 1:输入:nums = [-1,2,1,-4], target = 1 输出:2 解释:与 target 最接近的和是 2 (-1 + 2 +1 = 2) 。 示例 2:输入:nums = [0,0,0], target = 1 输出:0提示:3 <= nums.lengt原创 2022-02-08 12:07:47 · 208 阅读 · 0 评论 -
最长快乐字符串
最长快乐字符串如果字符串中不含有任何 ‘aaa’,‘bbb’ 或 ‘ccc’ 这样的字符串作为子串,那么该字符串就是一个「快乐字符串」。给你三个整数 a,b ,c,请你返回 任意一个 满足下列全部条件的字符串 s:s 是一个尽可能长的快乐字符串。 s 中 最多 有a 个字母 ‘a’、b 个字母 ‘b’、c 个字母 ‘c’ 。 s 中只含有‘a’、‘b’ 、‘c’ 三种字母。 如果不存在这样的字符串 s ,请返回一个空字符串 “”。示例 1:输入:a = 1, b = 1, c = 7 输出:“原创 2022-02-07 22:05:58 · 471 阅读 · 0 评论 -
463.岛屿的周长(给定一个包含 0 和 1 的二维网格地图,其中 1 表示陆地 0 表示水域)
463.岛屿的周长给定一个包含 0 和 1 的二维网格地图,其中 1 表示陆地 0 表示水域。网格中的格子水平和垂直方向相连(对角线方向不相连)。整个网格被水完全包围,但其中恰好有一个岛屿(或者说,一个或多个表示陆地的格子相连组成的岛屿)。岛屿中没有“湖”(“湖” 指水域在岛屿内部且不和岛屿周围的水相连)。格子是边长为 1 的正方形。网格为长方形,且宽度和高度均不超过 100。计算这个岛屿的周长。示例 :输入: [[0,1,0,0],[1,1,1,0],[0,1,0,0],[1,1原创 2020-10-30 20:44:27 · 1448 阅读 · 2 评论 -
129.求根到叶子节点数字之和(给定一个二叉树,它的每个结点都存放一个 0-9 的数字,每条从根到叶子节点的路径都代表一个数字。)
129.求根到叶子节点数字之和给定一个二叉树,它的每个结点都存放一个 0-9 的数字,每条从根到叶子节点的路径都代表一个数字。例如,从根到叶子节点路径 1->2->3 代表数字 123。计算从根到叶子节点生成的所有数字之和。说明: 叶子节点是指没有子节点的节点。...原创 2020-10-29 14:57:45 · 765 阅读 · 0 评论 -
1207.独一无二的出现次数(给你一个整数数组 arr,请你帮忙统计数组中每个数的出现次数。)
1207.独一无二的出现次数给你一个整数数组 arr,请你帮忙统计数组中每个数的出现次数。如果每个数的出现次数都是独一无二的,就返回 true;否则返回 false。示例 1:输入:arr = [1,2,2,1,1,3]输出:true解释:在该数组中,1 出现了 3 次,2 出现了 2 次,3 只出现了 1 次。没有两个数的出现次数相同。示例 2:输入:arr = [1,2]输出:false示例 3:输入:arr = [-3,0,1,-3,1,1,1,-3,10,0]输出:true原创 2020-10-28 20:06:05 · 565 阅读 · 0 评论 -
763.划分字母区间(字符串 S 由小写字母组成。我们要把这个字符串划分为尽可能多的片段,同一个字母只会出现在其中的一个片段。返回一个表示每个字符串片段的长度的列表。)
763.划分字母区间字符串 S 由小写字母组成。我们要把这个字符串划分为尽可能多的片段,同一个字母只会出现在其中的一个片段。返回一个表示每个字符串片段的长度的列表。示例 1:输入:S = “ababcbacadefegdehijhklij”输出:[9,7,8]解释: 划分结果为"ababcbaca", “defegde”, “hijhklij”。 每个字母最多出现在一个片段中。 像"ababcbacadefegde", “hijhklij” 的划分是错误的,因为划分的片段数较少。提示:S的原创 2020-10-22 22:36:25 · 707 阅读 · 0 评论 -
925.长按键入(你的朋友正在使用键盘输入他的名字 name。偶尔,在键入字符 c 时,按键可能会被长按,而字符可能被输入 1 次或多次。)
925.长按键入题目描述:你的朋友正在使用键盘输入他的名字 name。偶尔,在键入字符 c 时,按键可能会被长按,而字符可能被输入 1 次或多次。你将会检查键盘输入的字符 typed。如果它对应的可能是你的朋友的名字(其中一些字符可能被长按),那么就返回 True。示例 1: 输入:name = “alex”, typed = “aaleex” 输出:true 解释:‘alex’ 中的 ‘a’ 和’e’ 被长按。示例 2: 输入:name = “saeed”, typed = “ssaaedd”原创 2020-10-21 20:41:17 · 341 阅读 · 1 评论 -
143.重排列表( 给定一个单链表 L:L0→L1→…→Ln-1→Ln , 将其重新排列后变为: L0→Ln→L1→Ln-1→L2→Ln-2→…)
143.重排列表给定一个单链表 L:L0→L1→…→Ln-1→Ln , 将其重新排列后变为: L0→Ln→L1→Ln-1→L2→Ln-2→…你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例 1:给定链表 1->2->3->4, 重新排列为 1->4->2->3.示例 2:给定链表 1->2->3->4->5, 重新排列为 1->5->2->4->3.唉,令人头疼,反正我觉得我写的没啥问题,原创 2020-10-20 19:53:03 · 1373 阅读 · 0 评论 -
11.盛水最多的容器(给你 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai))
11.盛水最多的容器给你 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且 n 的值至少为 2。图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。在做这个题的时候,用了暴力求解,一开始是用vector数组把每一原创 2020-10-18 12:19:45 · 1958 阅读 · 0 评论 -
1002.查找常用字符(给定仅有小写字母组成的字符串数组 A,返回列表中的每个字符串中都显示的全部字符(包括重复字符)组成的列表。)
1002.查找常用字符给定仅有小写字母组成的字符串数组 A,返回列表中的每个字符串中都显示的全部字符(包括重复字符)组成的列表。例如,如果一个字符在每个字符串中出现 3 次,但不是 4 次,则需要在最终答案中包含该字符 3 次。你可以按任意顺序返回答案。示例 1:输入:[“bella”,“label”,“roller”]输出:[“e”,“l”,“l”]示例 2:输入:[“cool”,“lock”,“cook”]输出:[“c”,“o”]提示:1 <= A.length <= 1原创 2020-10-14 20:44:35 · 858 阅读 · 0 评论 -
24.两两交换链表中的节点(给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。)
24.两两交换链表中的节点给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例 1:输入:head = [1,2,3,4]输出:[2,1,4,3]示例 2:输入:head = []输出:[]示例 3:输入:head = [1]输出:[1]提示:链表中节点的数目在范围 [0, 100] 内0 <= Node.val <= 100咋说呢,我觉得我做出来的题就不是很难,所以这道题不难。但是,这种链原创 2020-10-13 18:16:40 · 573 阅读 · 0 评论 -
530.二叉搜索树的最小绝对差(给你一棵所有节点为非负值的二叉搜索树,请你计算树中任意两节点的差的绝对值的最小值。)
530.二叉搜索树的最小绝对差给你一棵所有节点为非负值的二叉搜索树,请你计算树中任意两节点的差的绝对值的最小值。示例:输入:1\3/2输出: 1解释: 最小绝对差为 1,其中 2 和 1 的差的绝对值为 1(或者 2 和 3)。本来是很简单的一道题,但是折腾了两个小时。。。因为一开始用栈用list,其中的一些函数都用不了。。如get()、pop_back()等。最后还是用了数组。。。首先二叉搜索树的特点就是,根节点的左子树比根节点小,右子树比根节点大。有了这个特点就可以对二叉搜原创 2020-10-12 16:50:40 · 267 阅读 · 0 评论