- 博客(51)
- 资源 (8)
- 收藏
- 关注
原创 Leetcode—— 5369. 统计作战单位数
5369. 统计作战单位数n 名士兵站成一排。每个士兵都有一个 独一无二 的评分 rating 。每 3 个士兵可以组成一个作战单位,分组规则如下:从队伍中选出下标分别为 i、j、k 的 3 名士兵,他们的评分分别为 rating[i]、rating[j]、rating[k]作战单位需满足: rating[i] < rating[j] < rating[k] 或者 rating...
2020-03-29 18:11:25 467
原创 Leetcode—— 5368. 找出数组中的幸运数
5368. 找出数组中的幸运数在整数数组中,如果一个整数的出现频次和它的数值大小相等,我们就称这个整数为「幸运数」。给你一个整数数组 arr,请你从中找出并返回一个幸运数。如果数组中存在多个幸运数,只需返回 最大 的那个。如果数组中不含幸运数,则返回 -1 。示例 1:输入:arr = [2,2,3,4]输出:2解释:数组中唯一的幸运数是 2 ,因为数值 2 的出现频次也是 2 。...
2020-03-29 17:58:08 889
原创 Leetcode——1391. 检查网格中是否存在有效路径
1391. 检查网格中是否存在有效路径给你一个 m x n 的网格 grid。网格里的每个单元都代表一条街道。grid[i][j] 的街道可以是:1 表示连接左单元格和右单元格的街道。2 表示连接上单元格和下单元格的街道。3 表示连接左单元格和下单元格的街道。4 表示连接右单元格和下单元格的街道。5 表示连接左单元格和上单元格的街道。6 表示连接右单元格和上单元格的街道。你最开始...
2020-03-27 14:09:02 479
原创 acwing——826. 单链表
826. 单链表实现一个单链表,链表初始为空,支持三种操作:(1) 向链表头插入一个数;(2) 删除第k个插入的数后面的数;(3) 在第k个插入的数后插入一个数现在要对该链表进行M次操作,进行完所有操作后,从头到尾输出整个链表。注意:题目中第k个插入的数并不是指当前链表的第k个数。例如操作过程中一共插入了n个数,则按照插入的时间顺序,这n个数依次为:第1个插入的数,第2个插入的数,…第...
2020-03-26 23:47:06 1274
原创 Leetcode——5348. 两个数组间的距离值
5348. 两个数组间的距离值给你两个整数数组 arr1 , arr2 和一个整数 d ,请你返回两个数组之间的 距离值 。「距离值」 定义为符合此描述的元素数目:对于元素 arr1[i] ,不存在任何元素 arr2[j] 满足 |arr1[i]-arr2[j]| <= d 。示例 1:输入:arr1 = [4,5,8], arr2 = [10,9,1,8], d = 2输出:2...
2020-03-23 00:14:11 430
原创 Leetcode——5364. 按既定顺序创建目标数组
5364. 按既定顺序创建目标数组给你两个整数数组 nums 和 index。你需要按照以下规则创建目标数组:目标数组 target 最初为空。按从左到右的顺序依次读取 nums[i] 和 index[i],在 target 数组中的下标 index[i] 处插入值 nums[i] 。重复上一步,直到在 nums 和 index 中都没有要读取的元素。请你返回目标数组。题目保证数字插入...
2020-03-23 00:07:52 309
原创 Leetcode——5350. 将整数按权重排序
5350. 将整数按权重排序我们将整数 x 的 权重 定义为按照下述规则将 x 变成 1 所需要的步数:如果 x 是偶数,那么 x = x / 2如果 x 是奇数,那么 x = 3 * x + 1比方说,x=3 的权重为 7 。因为 3 需要 7 步变成 1 (3 --> 10 --> 5 --> 16 --> 8 --> 4 --> 2 --> ...
2020-03-23 00:03:10 293
原创 Leetcode——5367. 最长快乐前缀
5367. 最长快乐前缀「快乐前缀」是在原字符串中既是 非空 前缀也是后缀(不包括原字符串自身)的字符串。给你一个字符串 s,请你返回它的 最长快乐前缀。如果不存在满足题意的前缀,则返回一个空字符串。示例 1:输入:s = “level”输出:“l”解释:不包括 s 自己,一共有 4 个前缀(“l”, “le”, “lev”, “leve”)和 4 个后缀(“l”, “el”, “v...
2020-03-22 23:56:19 488
原创 Leetcode——5178. 四因数
5178. 四因数给你一个整数数组 nums,请你返回该数组中恰有四个因数的这些整数的各因数之和。如果数组中不存在满足题意的整数,则返回 0 。示例:输入:nums = [21,4,7]输出:32解释:21 有 4 个因数:1, 3, 7, 214 有 3 个因数:1, 2, 47 有 2 个因数:1, 7答案仅为 21 的所有因数的和。提示:1 <= nums.le...
2020-03-22 23:54:02 342
原创 Leetcode——160. 相交链表
160. 相交链表编写一个程序,找到两个单链表相交的起始节点。如下面的两个链表:在节点 c1 开始相交。示例 1:输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3输出:Reference of the node with value = 8输入解释:相交节点的...
2020-03-21 22:28:11 171
原创 Leetcode——21.合并两个有序链表
21.合并两个有序链表将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4解题思路:新建头部保护结点 p,设置 cur 指针指向 p若当前 l1 指向的结点的值比 l2 指向的结点的值小,则令cur的next...
2020-03-20 13:25:26 153
原创 Leetcode—— 面试题58 - II. 左旋转字符串
181.杨辉三角II字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。示例 1:输入: s = “abcdefg”, k = 2输出: “cdefgab”示例 2:输入: s = “lrloseumgh”, k = 6输出: “umg...
2020-03-20 00:08:59 134
原创 acwing——842. 排列数字
842. 排列数字给定一个整数n,将数字1~n排成一排,将会有很多种排列方法。现在,请你按照字典序将所有的排列方法输出。输入格式共一行,包含一个整数n。输出格式按字典序输出所有排列方案,每个方案占一行。数据范围1≤n≤7输入样例:3输出样例:1 2 31 3 22 1 32 3 13 1 23 2 1解题思路:dfs遍历,详细看代码解析。程序代码#incl...
2020-03-19 21:05:56 519
原创 acwing——822. 走方格
822. 走方格给定一个n*m的方格阵,沿着方格的边线走,从左上角(0,0)开始,每次只能往右或者往下走一个单位距离,问走到右下角(n,m)一共有多少种不同的走法。输入格式共一行,包含两个整数n和m。输出格式共一行,包含一个整数,表示走法数量。数据范围1≤n,m≤101≤n,m≤10输入样例:2 3输出样例:10解题思路1:动态规划,这个题和Leetcode—— 62.不...
2020-03-19 20:13:21 644
原创 acwing——771. 字符串中最长的连续出现的字符
771. 字符串中最长的连续出现的字符求一个字符串中最长的连续出现的字符,输出该字符及其出现次数,字符串中无空白字符(空格、回车和tab),如果这样的字符不止一个,则输出第一个。输入格式第一行输入整数N,表示测试数据的组数。每组数据占一行,包含一个不含空白字符的字符串,字符串长度不超过200。输出格式共一行,输出最长的连续出现的字符及其出现次数,中间用空格隔开。输入样例...
2020-03-17 23:51:22 441
原创 acwing——770. 单词替换
770. 单词替换输入一个字符串,以回车结束(字符串长度不超过100)。该字符串由若干个单词组成,单词之间用一个空格隔开,所有单词区分大小写。现需要将其中的某个单词替换成另一个单词,并输出替换之后的字符串。输入格式输入共3行。第1行是包含多个单词的字符串 s;第2行是待替换的单词a(长度不超过100);第3行是a将被替换的单词b(长度不超过100)。输出格式...
2020-03-17 23:40:01 338
原创 Leetcode—— 面试题 01.06. 字符串压缩
面试题 01.06. 字符串压缩字符串压缩。利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能。比如,字符串aabcccccaaa会变为a2b1c5a3。若“压缩”后的字符串没有变短,则返回原先的字符串。你可以假设字符串中只包含大小写英文字母(a至z)。示例1:输入:"aabcccccaaa"输出:"a2b1c5a3"示例2:输入:"abbccd"输出:"...
2020-03-16 18:15:58 331
原创 acwing——788. 逆序对的数量
788. 逆序对的数量给定一个长度为n的整数数列,请你计算数列中的逆序对的数量。逆序对的定义如下:对于数列的第 i 个和第 j 个元素,如果满足 i < j 且 a[i] > a[j],则其为一个逆序对;否则不是。输入格式第一行包含整数n,表示数列的长度。第二行包含 n 个整数,表示整个数列。输出格式输出一个整数,表示逆序对的个数。数据范围1≤n≤1...
2020-03-15 12:48:52 1301 1
原创 acwing——756. 蛇形矩阵(螺旋矩阵)
756. 蛇形矩阵输入两个整数n和m,输出一个n行m列的矩阵,将数字 1 到 n*m 按照回字蛇形填充至矩阵中。具体矩阵形式可参考样例。输入格式输入共一行,包含两个整数n和m。输出格式输出满足要求的矩阵。矩阵占n行,每行包含m个空格隔开的整数。数据范围1≤n,m≤1001≤n,m≤100输入样例:3 3输出样例:1 2 38 9 47 ...
2020-03-14 11:49:45 1733
原创 acwing——755. 平方矩阵 III
755. 平方矩阵 III输入整数N,输出一个N阶的二维数组M。这个N阶二维数组满足M[i][j] =2i+j2i+j。具体形式可参考样例。输入格式输入包含多行,每行包含一个整数N。当输入行为N=0时,表示输入结束,且该行无需作任何处理。输出格式对于每个输入整数N,输出一个满足要求的N阶二维数组。每个数组占N行,每行包含N个用空格隔开的整数。每个数组输出完...
2020-03-13 21:07:42 662
原创 acwing——754. 平方矩阵 II
754. 平方矩阵 II输入整数N,输出一个N阶的二维数组。数组的形式参照样例。输入格式输入包含多行,每行包含一个整数N。当输入行为N=0时,表示输入结束,且该行无需作任何处理。输出格式对于每个输入整数N,输出一个满足要求的N阶二维数组。每个数组占N行,每行包含N个用空格隔开的整数。每个数组输出完毕后,输出一个空行。数据范围0≤N≤1000≤N≤100...
2020-03-13 20:52:44 930
原创 acwing——753. 平方矩阵 I
753. 平方矩阵 I输入整数N,输出一个N阶的回字形二维数组。数组的最外层为1,次外层为2,以此类推。输入格式输入包含多行,每行包含一个整数N。当输入行为N=0时,表示输入结束,且该行无需作任何处理。输出格式对于每个输入整数N,输出一个满足要求的N阶二维数组。每个数组占N行,每行包含N个用空格隔开的整数。每个数组输出完毕后,输出一个空行。数据范围0≤N...
2020-03-13 20:38:32 714
原创 acwing——727. 菱形
727. 菱形输入一个奇数n,输出一个由‘*’构成的n阶实心菱形。输入格式一个奇数n。输出格式输出一个由‘*’构成的n阶实心菱形。具体格式参照输出样例。数据范围1≤n≤991≤n≤99输入样例:5输出样例: * *** ***** *** * 程序代码1:#include<iostream>using...
2020-03-13 00:02:42 829
原创 acwing——726. 质数
726. 质数一个大于1的自然数,如果除了1和它自身外,不能被其他自然数整除则称该数为质数。例如7就是一个质数,因为它只能被1和7整除。现在,给定你N个大于1的自然数,请你依次判断这些数是否是质数。输入格式第一行包含整数N,表示共有N个测试数据。接下来N行,每行包含一个自然数X。输出格式每个测试用例输出一个结果,每个结果占一行。如果测试数据是质数,则输出“X i...
2020-03-12 23:44:14 324
原创 acwing——725. 完全数
725. 完全数一个整数,除了本身以外的其他所有约数的和如果等于该数,那么我们就称这个整数为完全数。例如,6就是一个完全数,因为它的除了本身以外的其他约数的和为 1+2+3 = 6。现在,给定你N个整数,请你依次判断这些数是否是完全数。输入格式第一行包含整数N,表示共有N个测试用例。接下来N行,每行包含一个需要你进行判断的整数X。输出格式每个测试用例输出一个结果,每...
2020-03-12 23:36:38 742
原创 acwing——869. 试除法求约数
869. 试除法求约数给定n个正整数ai,对于每个整数ai,请你按照从小到大的顺序输出它的所有约数。输入格式第一行包含整数n。接下来n行,每行包含一个整数ai。输出格式输出共n行,其中第 i 行输出第 i 个整数ai的所有约数。数据范围1≤n≤100,2≤ai≤2∗109输入样例:268输出样例:1 2 3 61 2 4 8解题思路:直接从1开始遍历,如果 i ...
2020-03-12 23:31:56 604
原创 Leetcode—— 107. 二叉树的层次遍历 II
107. 二叉树的层次遍历 II给定一个二叉树,返回其节点值自底向上的层次遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)例如:给定二叉树 [3,9,20,null,null,15,7],3/ 9 20/ 15 7返回其自底向上的层次遍历为:[[15,7],[9,20],[3]]来源:力扣(LeetCode)链接:https://leet...
2020-03-12 21:26:34 207
原创 Leetcode—— 102. 二叉树的层次遍历
102. 二叉树的层次遍历给定一个二叉树,返回其按层次遍历的节点值。 (即逐层地,从左到右访问所有节点)。例如:给定二叉树: [3,9,20,null,null,15,7],3/ 9 20/ 15 7返回其层次遍历结果:[[3],[9,20],[15,7]]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems...
2020-03-12 21:15:23 217
原创 Leetcode—— 1013. 将数组分成和相等的三个部分
1013. 将数组分成和相等的三个部分给你一个整数数组 A,只有可以将其划分为三个和相等的非空部分时才返回 true,否则返回 false。形式上,如果可以找出索引 i+1 < j 且满足 (A[0] + A[1] + … + A[i] == A[i+1] + A[i+2] + … + A[j-1] == A[j] + A[j-1] + … + A[A.length - 1]) 就可以将...
2020-03-11 20:08:55 372
原创 acwing——656.钞票和硬币
钞票和硬币读取一个带有两个小数位的浮点数,这代表货币价值。在此之后,将该值分解为多种钞票与硬币的和,每种面值的钞票和硬币使用数量不限,要求使用的钞票和硬币的数量尽可能少。钞票的面值是100,50,20,10,5,2。硬币的面值是1,0.50,0.25,0.10,0.05和0.01。输入格式输入一个浮点数N。输出格式参照输出样例,输出每种面值的钞票和硬币的需求数量。...
2020-03-10 00:23:04 946
原创 Leetcode—— 104. 二叉树的最大深度
104. 二叉树的最大深度给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7],3/ 9 20/ 15 7返回它的最大深度 3 。来源:力扣(LeetCode)链接:https://leetcode-cn.com/proble...
2020-03-09 18:10:46 189
原创 Leetcode—— 100. 相同的树
给定两个二叉树,编写一个函数来检验它们是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。示例 1:输入: 1 1/ \ / 2 3 2 3 [1,2,3], [1,2,3]输出: true示例 2:输入: 1 1/ 2...
2020-03-09 18:10:06 190
原创 Leetcode—— 101. 对称二叉树
101. 对称二叉树给定一个二叉树,检查它是否是镜像对称的。例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2/ \ / 3 4 4 3但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的: 1/ 2 2\ 3 3来源:力扣(LeetCode)链接:https:/...
2020-03-09 18:09:47 130
原创 acwing——787. 归并排序
归并排序给定你一个长度为n的整数数列。请你使用归并排序对这个数列按照从小到大进行排序。并将排好序的数列按顺序输出。输入格式输入共两行,第一行包含整数 n。第二行包含 n 个整数(所有整数均在1~109109范围内),表示整个数列。输出格式输出共一行,包含 n 个整数,表示排好序的数列。数据范围1≤n≤1000001≤n≤100000输入样例:53...
2020-03-08 20:58:59 322
原创 acwing——786. 第k个数
第k个数给定一个长度为n的整数数列,以及一个整数k,请用快速选择算法求出数列的第k小的数是多少。输入格式第一行包含两个整数 n 和 k。第二行包含 n 个整数(所有整数均在1~109109范围内),表示整数数列。输出格式输出一个整数,表示数列的第k小数。数据范围1≤n≤1000001≤n≤100000,1≤k≤n1≤k≤n输入样例:5 32 4 1 5...
2020-03-08 19:43:26 534
原创 acwing——785. 快速排序
快速排序给定你一个长度为n的整数数列。请你使用快速排序对这个数列按照从小到大进行排序。并将排好序的数列按顺序输出。输入格式输入共两行,第一行包含整数 n。第二行包含 n 个整数(所有整数均在1~109109范围内),表示整个数列。输出格式输出共一行,包含 n 个整数,表示排好序的数列。数据范围1≤n≤1000001≤n≤100000输入样例:53...
2020-03-08 09:40:07 643
原创 Leetcode—— 面试题59 - II. 队列的最大值
面试题59 - II. 队列的最大值请定义一个队列并实现函数 max_value 得到队列里的最大值,要求函数max_value、push_back 和 pop_front 的均摊时间复杂度都是O(1)。若队列为空,pop_front 和 max_value需要返回 -1示例 1:输入:["MaxQueue","push_back","push_back","max_valu...
2020-03-07 19:19:37 270
原创 Leetcode—— 面试题57 - II. 和为s的连续正数序列
面试题57 - II. 和为s的连续正数序列输入一个正整数 target ,输出所有和为 target 的连续正整数序列(至少含有两个数)。序列内的数字由小到大排列,不同序列按照首个数字从小到大排列。示例 1:输入:target = 9输出:[[2,3,4],[4,5]]示例 2:输入:target = 15输出:[[1,2,3,4,5],[4,5,6],[7,8]]限制:1 ...
2020-03-06 21:12:27 341
原创 Leetcode—— 1103. 分糖果 II
1103. 分糖果 II排排坐,分糖果。我们买了一些糖果 candies,打算把它们分给排好队的 n = num_people 个小朋友。给第一个小朋友 1 颗糖果,第二个小朋友 2 颗,依此类推,直到给最后一个小朋友 n 颗糖果。然后,我们再回到队伍的起点,给第一个小朋友 n + 1 颗糖果,第二个小朋友 n + 2 颗,依此类推,直到给最后一个小朋友 2 * n 颗糖果。重复上述过程...
2020-03-05 22:45:48 298
原创 Leetcode—— 575. 分糖果
575. 分糖果给定一个偶数长度的数组,其中不同的数字代表着不同种类的糖果,每一个数字代表一个糖果。你需要把这些糖果平均分给一个弟弟和一个妹妹。返回妹妹可以获得的最大糖果的种类数。示例 1:输入: candies = [1,1,2,2,3,3]输出: 3解析: 一共有三种种类的糖果,每一种都有两个。最优分配方案:妹妹获得[1,2,3],弟弟也获得[1,2,3]。这样使妹妹获得糖果的种类...
2020-03-05 22:14:03 260
图像显著性检测Itti算法
2022-09-24
Chan-Vese算法是一种图像分割算法,Python实现代码,有注释,方便理解和修改。
2022-04-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人