
算法
文章平均质量分 59
时代我西
笨鸟先飞,勤能补拙!
展开
-
1945. 俱乐部年度比赛得分排名 I
1945.俱乐部年度比赛得分排名 Irankings 表记录了某俱乐部年度比赛的排名及得分信息,包括项目 id (category_id),年份 (year),排名 (rank) 以及分数 (score)categories 表记录了项目的名称 (name),因为某些原因,categories 表中可能存在数据丢失情况,如样例二请编写 SQL 语句,查询 rankings 表和 categories 表中所有项目对应的项目名称 (name)、该项目的比赛年份 (year) 和...原创 2021-06-25 13:41:31 · 84 阅读 · 0 评论 -
1921. 从不充值的玩家
1921.从不充值的玩家某游戏数据库包含两个表,用户 (users) 表和充值 (recharges) 表,编写一个 SQL 语句,找出所有从未充值的玩家。表定义 1: users (用户表) 列名 类型 注释 id int unsigned 主键 name varchar 用户姓名 表定义 ...原创 2021-06-25 13:41:17 · 100 阅读 · 0 评论 -
1916. 亮起时间最长的灯
1916.亮起时间最长的灯有一排 26 个彩灯,编号从 0 到 25,现在给出了一系列控制指令来控制这些彩灯的开关。一开始这些彩灯都是关闭的,然后指令将逐条发出。在每条指令operation[i]中含有两个整数operation[i][0], operation[i][1]。在接收到一条指令时,标号为operation[i][0]的彩灯会亮起,直到第operation[i][1]秒的时候熄灭。当灯熄灭后,下一条指令将会发出。其中第一条指令将在第0秒的时候...原创 2021-06-24 09:20:28 · 107 阅读 · 0 评论 -
1913. 查询学生学籍信息
1913.查询学生学籍信息编写一个 SQL 语句,满足条件:无论 students 是否有学籍 (enrollments) 信息,学生都需要根据如下两个表提供以下信息: student_name, phone, hometown, address 表定义 1: students (学生表) 列名 类型 注释 id int unsigned ...原创 2021-06-24 09:19:54 · 218 阅读 · 0 评论 -
1910. 数组中出现次数最多的值
1910.数组中出现次数最多的值在给定的数组中,找到出现次数最多的数字。出现次数相同时,返回数值最小的数字。样例样例 1:输入:[1,1,2,3,3,3,4,5]输出:3样例 2:输入:[1]输出:1注意事项数组长度不超过100000。0 <= a[i] <= 2147483647public class Solution {/*** @pa...原创 2021-06-24 09:19:25 · 576 阅读 · 0 评论 -
1905. 字符删除
1905.字符删除输入两个字符串,从第一字符串中删除第二个字符串中所有的字符样例样例 1:输入: str=”They are students”,sub=”aeiou”输出: ”Thy r stdnts”注意事项String contains spaces1\leq len(str),len(sub) \leq 10^51≤len(str),len(sub)≤105public class Solution...原创 2021-06-24 09:17:52 · 87 阅读 · 0 评论 -
1903. 部门统计
1903.部门统计公司给你提供了所有员工的信息,包括其ID,姓名和所属部门。以及他们之间的朋友关系,每个关系中由2个ID组成,如 "1, 2" 代表1号员工和2号员工是朋友。朋友关系不具有传递性,即B、C都是A的朋友,但B和C不一定是朋友。请计算每个部门中与其它部门的员工有朋友关系的员工个数。样例样例输入:employees = ["1, Bill, Engineer","2, Joe, HR","3, Sally, Engineer",...原创 2021-06-24 09:17:11 · 78 阅读 · 0 评论 -
1902. 寻找Google
1902.寻找Google给您一个字符串形式的C ++文件(每行是一个字符串),我们希望您在注释行中找到“ Google”。如果注释行中有“ Google”,则返回true,否则返回false。C++有两种注释方式,一种是单行注释//,代表着//后面的本行内容均为注释,另一种是多行注释,/*和*/这两者之间的部分均为注释。样例输入: S = ["#include","using namespace std;","//Google test","int mai...原创 2021-06-24 09:16:30 · 293 阅读 · 0 评论 -
1901. 有序数组的平方
1901.有序数组的平方给定一个按非递减顺序排序的整数数组 A,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。样例示例1输入:[-4,-1,0,3,10]输出:[0,1,9,16,100]示例2输入:[-7,-3,2,3,11]输出:[4,9,9,49,121]注意事项 1 <= A.length <= 10000 -10000 <= A[i] <= 10000 A 已按非...原创 2021-06-24 09:15:20 · 87 阅读 · 0 评论 -
1895. 安排面试城市
1895.安排面试城市今天有N个面试者需要面试,公司安排了两个面试的城市A和B,每一个面试者都有到A城市的开销costA和到B城市的开销costB。公司需要将面试者均分成两拨,使得total cost最小。样例输入: cost = [[5,4],[3,6],[1,8],[3,9]]输出: 14说明: 第一个和第二个人去B城市,剩下的去A城市说明题目要求去A的人数和去B的人数相等。注意事项 N是偶数 2<=N&l...原创 2021-06-24 09:14:21 · 169 阅读 · 0 评论 -
1896. 捡胡萝卜
1896.捡胡萝卜给定一个n * m 的矩阵carrot, carrot[i][j] 表示(i, j) 坐标上的胡萝卜数量。从矩阵的中心点出发,每一次移动都朝着四个方向中胡萝卜数量最多的方向移动,保证移动方向唯一。返回你可以得到的胡萝卜数量。样例示例 1:输入:carrot =[[5, 7, 6, 3],[2, 4, 8, 12],[3, 5, 10, 7],[4, 16, 4, 17]]输出: 83解释:起点坐标是(1,...原创 2021-06-24 09:14:54 · 80 阅读 · 0 评论 -
1887. 延伸字符串
1887.延伸字符串给定一个字符串,你可以通过操作字符串中 连续的相同字符 来得到新的字符串。你只被允许进行如下操作:将一段连续次数大于等于 2 的相同字符保留 1 或 2 个,并删掉其余的部分。你必须保证,新的字符串中不会连续存在两个以上的相同字符。如果输入的字符串满足要求,你可以不对它进行任何操作。样例样例 1:输入: S = "helllllooo"输出: 4解释: 答案为 "hello", "helo","heloo","...原创 2021-06-24 09:13:33 · 222 阅读 · 0 评论 -
1881. 飞机座位
1881.飞机座位您的任务是为四口之家尽可能多的分配座位。一个四口之家必须占领一排当中连续的四个座位。过道上的座位(例如2C和2D)不被认为是彼此相邻的。一家人被过道分开是可以的,但在这种情况下必须每一边坐两个。显然,座位不可以分配给一个以上的家庭。编写一个函数class Solution {public int solution(int N,String S};函数中N表示有N排座位,S表示已经提供出去的座位,函数返回剩下的座位能坐四口之家的最大值。例如, N = 2,S ...原创 2021-06-23 16:42:48 · 199 阅读 · 0 评论 -
1880. 序列中出现X次的最大数字X
1880.序列中出现X次的最大数字X给定一个由N个整数组成的序列A,请你输出最大的值X,它恰好在A中出现X次。如果没有这样的值,你应该输出0。样例样例1:输入: [3,8,2,3,3,2]输出: 3说明: 序列中,2正好出现两次,3正好出现三次。且2和3的最大值是3,因此答案是3。样例2:输入: [3,1,4,1,5]输出: 0说明: 没有满足任务条件的数字,所以答案是0。注意事项N是[1..100,000]范...原创 2021-06-23 16:42:16 · 111 阅读 · 0 评论 -
1878. 旋转数字
1878.旋转数字我们称X为好数当整个数字绕平面内任一点旋转180°之后仍是其本身,例如“1”,“2”,“0”,"12021","69","96"。特别要注意的是,我们使用的数字跟我们在红绿灯上使用的是一样的。给你长度n,我们需要统计长度为n的好数有多少个。样例输入: n = 1输出: 5说明: 5 个好数为 "0","1","2","5","8"输入: n = 2输出: 6说明: 6 个好数为 "11","22","55","88...原创 2021-06-23 16:41:59 · 327 阅读 · 0 评论 -
1876. 外星人字典(简单)
1876.外星人字典(简单)某种外星语也使用英文小写字母,但可能顺序 order 不同。字母表的顺序(order)是一些小写字母的排列。 给定一组用外星语书写的单词 words,以及其字母表的顺序 order,只有当给定的单词在这种外星语中按字典序排列时,返回 true;否则,返回 false。样例样例1:输入:words = ["hello","leetcode"], order = "hlabcdefgijkmnopqrstuvwxyz"输出:true解...原创 2021-06-23 16:41:07 · 220 阅读 · 0 评论 -
1872. 连接棒材的最低费用
1872.连接棒材的最低费用为了装修新房,你需要加工一些长度为正整数的棒材 sticks。如果要将长度分别为 X 和 Y 的两根棒材连接在一起,你需要支付 X + Y 的费用。 由于施工需要,你必须将所有棒材连接成一根。返回你把所有棒材 sticks 连成一根所需要的最低费用。注意你可以任意选择棒材连接的顺序样例样例 1:输入:[2,4,3]输出:14解释:先将 2 和 3 连接成 5,花费 5;再将 5 和 4 连接成 9;总花费为 14...原创 2021-06-23 16:40:24 · 128 阅读 · 0 评论 -
1869. 统计全为 1 的正方形子矩阵
1869.统计全为 1 的正方形子矩阵给你一个 m * n 的矩阵,矩阵中的元素不是 0 就是 1,请你统计并返回其中完全由 1 组成的 正方形 子矩阵的个数。样例Example 1:Input: matrix =[[0,1,1,1],[1,1,1,1],[0,1,1,1]]Output: 15Explanation:There are 10 squares of side 1.There are 4 squares of...原创 2021-06-23 16:39:47 · 214 阅读 · 0 评论 -
1859. 最小振幅
1859.最小振幅给定一个由N个整数组成的数组A,一次移动,我们可以选择此数组中的任何元素并将其替换为任何值。数组的振幅是数组A中的最大值和最小值之间的差。返回通过执行最多三次替换之后数组A的最小振幅样例示例 1输入:A = [-9, 8, -1]输出: 0解释:可以将 -9 和 8 替换成-1,这样所有元素都等于 -1,所以振幅是0示例 2:输入:A = [14, 10, 5, 1, 0]输出: 1解释:为了实现振...原创 2021-06-23 16:39:25 · 398 阅读 · 0 评论 -
1854. 数组划分III
1854.数组划分III给你一个整数数组和一个整数K,请你判断数组是否可以划分为若干大小为k序列,并满足以下条件: 数组中的每一个数恰恰出现在一个序列中 一个序列中的数都是互不相同的 数组中相同元素是被划分到不同序列中的 如何可以划分,返回True,否则返回False。数组长度小于等于10^5。样例例1:input: array=[1,2,3,4], k = 2output:true例2:input: array=[1,2...原创 2021-06-23 16:38:47 · 151 阅读 · 0 评论 -
1850. 捡苹果
1850.捡苹果Alice 和 Bob 在一个漂亮的果园里面工作,果园里面有N棵苹果树排成了一排,这些苹果树被标记成1 - N号。Alice 计划收集连续的K棵苹果树上面的所有苹果,Bob计划收集连续的L棵苹果树上面的所有苹果。Alice和Bob选择的区间不可以重合,你需要返回他们能够最大收集的苹果数量。样例示例 1:输入:A = [6, 1, 4, 6, 3, 2, 7, 4]K = 3L = 2输出: 24解释:因为Alice ...原创 2021-06-23 16:38:10 · 615 阅读 · 0 评论 -
1840. 矩阵还原
1840.矩阵还原现有一个nn行mm列的矩阵beforebefore,对于before里的每一个元素before[i][j]before[i][j],我们会使用以下算法将其转化为after[i][j]after[i][j]。现给定afterafter矩阵,请还原出原有的矩阵beforebefore。s = 0for i1: 0 -> ifor j1: 0 -> js = s + before[i1][j1]after[i][j] = s样例...原创 2021-06-23 16:37:35 · 427 阅读 · 0 评论 -
1823. 数组的最长前缀
1823.数组的最长前缀给定两个正整数X和Y,以及正整数数组nums。我们需要找到一个最大的index,使得在nums[0], nums[1], .... , nums[index]中,出现X、Y的次数相等,且至少均出现一次,返回该index。若不存在这样的index,则返回-1。样例示例 1:输入:X = 2Y = 4nums: [1, 2, 3, 4, 4, 3]输出: 3解释: 保证 2 和 4 出现相同次数的最长前缀...原创 2021-06-22 09:09:46 · 173 阅读 · 0 评论 -
1822. 最小移动次数
1822.最小移动次数给定由N个字母 'a' 和/或 'b' 组成的字符串S。 在一次操作中,可以将一个字母替换为另一个字母('a' 替换为 'b' 或 'b' 替换为 'a')。 返回得到不包含三个连续相同字母的字符串所需的最小操作次数。样例示例1:输入:S = "baaaaa"输出: 1解释:将字符串变成: "baabaa", 这样一次操作就可以使得字符串S没有三个相同的连续字母。示例2:输入:S = "baaabbaabbba"...原创 2021-06-22 09:08:55 · 466 阅读 · 0 评论 -
1821. 最小删除以获得正确格式的字符串
1821.最小删除以获得正确格式的字符串给定一个长度为NN的只包含字母A和/或B的字符串SS。我们的目标是通过删除最少的字符使得字符串变成A...AB...B的形式(所有的A都在B前面)。特别的,如果字符串只包含A或B也是符合条件的。请写一个函数,给定一个字符串SS,返回最小需要删除的字符数。样例样例 1输入: "BAAABAB"输出: 2说明: 我们可以通过删除第一个B和最后一个A来生成"AAABB"样例 2输入: "BBAB...原创 2021-06-22 09:08:25 · 264 阅读 · 0 评论 -
1820. 寻找字母
1820.寻找字母给定一个字符串str,返回字符串中字母顺序最大的而且同时在字符串中出现大写和小写的字母。如果不存在这样的字母,返回‘~‘。样例例 1:输入:"aAbBcD"输出:'B'解释:因为c和D没有大小写同时出现,A和B都有大小写,但是B比A大,所以返回B。例2:输入:"looGVSSPbR"输出:'~'注意事项请返回大写字母|str|<=1000输入测试数据(每...原创 2021-06-22 09:08:02 · 366 阅读 · 0 评论 -
1819. 最长双交替子串
1819.最长双交替子串给定一个长度为NN且只包含a和b的字符串SS。你需要找出最长的子串长度,使得其中不包含三个连续的字母。即,找出不包含aaa或bbb的最长子串长度。注意SS是其本身的子串。样例样例1输入: "baaabbabbb"输出: 7说明: "aabbabb"是最长符合条件的子串样例2输入: "babba"输出: 5说明:整个S符合条件样例3输入: "abaaaa"输出: 4说明: "abaa"是最长符合条...原创 2021-06-22 09:07:32 · 245 阅读 · 0 评论 -
1814. 所有子数组之和
1814.所有子数组之和给定一个数组nums, 你需要返回这个数组所有子数组之和。样例示例1:输入: nums = [1, 2, 3]输出: 20解释: {1} + {2} + {3} + {2 + 3} + {1 + 2} + {1 + 2 + 3} = 20示例2输入: [1, 2]输出: 6解释: {1} + {2} + {1, 2} = 6注意事项 如果nums = [2, 4, 1], 数组所有的子集是 {[...原创 2021-06-22 09:07:04 · 1008 阅读 · 0 评论 -
1807. 斐波纳契数列简单
1807.斐波纳契数列简单查找斐波纳契数列中第 N 个数。所谓的斐波纳契数列是指: 前2个数是 0 和 1 。 第i个数是第i-1 个数和第i-2 个数的和。 斐波纳契数列的前10个数字是:0, 1, 1, 2, 3, 5, 8, 13, 21, 34 ...样例样例 1:输入: 1输出: 0样例解释:返回斐波那契的第一个数字,是0.样例 2:输入: 2输出: 1样例解释:返回斐波那契的第二个数...原创 2021-06-22 09:06:37 · 150 阅读 · 0 评论 -
1790. 旋转字符串II
1790.旋转字符串II给出一个字符串(以字符数组形式给出),一个右偏移和一个左偏移,根据给出的偏移量循环移动字符串。(left offest表示字符串向左的偏移量,right offest表示字符串向右的偏移量,左偏移量和右偏移量计算得到总偏移量,在总偏移量处分成两段字符串并交换位置)。样例Example 1:Input:str ="abcdefg", left = 3, right = 1Output:"cdefgab"Explanation:The l...原创 2021-06-22 09:06:03 · 73 阅读 · 0 评论 -
1783. 二叉树的后序遍历
1783.二叉树的后序遍历给出一棵二叉树,返回其节点值的后序遍历。样例样例 1:输入:{1,2,3}输出:[2,3,1]解释:1/ \2 3样例 2:输入:{1,2,#,3,4}输出:[3,4,2,1]解释:1/2/ \3 4挑战你能使用非递归实现么?注意事项首个数据为根节点,后面接着是其左儿子和右儿子节点值,"#"表示不存在该子节点。/*...原创 2021-06-22 09:05:08 · 62 阅读 · 0 评论 -
1775. 找数字
给出两个数字 A 和 B,找出 A 与 B 之间所有的数(包括 A 和 B),使得这些数满足是 3 的倍数,返回这些数的和。样例样例 1:输入:A = 3, B = 4输出:3解释:只有3满足条件。样例 2:输入:A = 2, B = 7输出:9解释:3 和 6 满足条件,3 + 6 = 9。注意事项 1 <= A <= B <= 1000 /*** @param A: The A* @param B: Th原创 2021-06-21 09:23:04 · 88 阅读 · 0 评论 -
1753. 写作业
1753.写作业n个人,他们每个人需要独立做m份作业。第i份作业需要花费cost[i]的时间。由于每个人的空闲时间不同,第i个人有val[i]的时间,这代表他做作业的总时间不会超过val[i]。每个人都按照顺序,从1号作业开始,然后做2号,3号...... 现在,你需要计算出他们最多花了多少的时间。样例样例 1:给定`cost=[1,2,3,5]`,`val=[6,10,4]`,返回`15`。输入:[1,2,3,5][6,10,4]输出...原创 2021-06-21 09:22:24 · 60 阅读 · 0 评论 -
1746. 二叉搜索树结点最小距离
1746.二叉搜索树结点最小距离给定一个二叉搜索树的根结点 root, 返回树中任意两节点的差的最小值。样例Example 1:Input: root = {2,1}Output: 1Explanation:Note that root is a TreeNode object, not an array.The given tree {2,1} is represented by the following diagram:2/...原创 2021-06-21 09:21:46 · 98 阅读 · 0 评论 -
1744. 递增顺序查找树
1744.递增顺序查找树给定一个二叉排序树,按中序遍历重新排列树,使树中最左边的结点现在是树的根,并且每个结点没有左子结点,只有一个右子结点。样例样例 1:输入:root = {5,3,6,2,4,#,8,1,#,#,#,7,9}5/ \3 6/ \ \2 4 8/ / \1 7 9输出:{1,#,2,#,3,#,4,#,5,#,6,#,7,#,8,#,9}解释:1\2\3\4\5...原创 2021-06-21 09:20:11 · 110 阅读 · 0 评论 -
1730. 电子表格符号转换
1730.电子表格符号转换你需要模拟电子表格,类似ExcelExcel的列命名规则,将整数的编号转换成字符串的形式。给出一个数indexindex,令1 = A1=A,2 = B2=B,26 = Z26=Z,27 = AA27=AA... 最后702 = ZZ702=ZZ,每行最多有702702个编号。当index > 702index>702时,需要换一行,并重新开始编号,并重新从AA开始编号,如703 = A703=A,705 = C7...原创 2021-06-21 09:18:40 · 149 阅读 · 0 评论 -
1728. 卡牌分组
1728.卡牌分组给定一副牌,每张牌上都写着一个整数。此时,你需要选定一个数字 X,使我们可以将整副牌按下述规则分成 1 组或更多组:每组都有 X 张牌。组内所有的牌上都写着相同的整数。仅当你可选的 X >= 2 时返回 true。样例示例1输入: [1,2,3,4,4,3,2,1]输出: true解释: 可行的分组 [1,1],[2,2],[3,3],[4,4]示例2:输入: [1,1,1,2,2,2,3,3]输...原创 2021-06-21 09:18:08 · 125 阅读 · 0 评论 -
1721. 使括号有效的最少添加
1721.使括号有效的最少添加给定一个由'('和')'括号组成的字符串S,我们需要添加最少的括号('('或是')',可以在任何位置),以使得到的括号字符串有效。从形式上讲,只有满足下面几点之一,括号字符串才是有效的: 它是一个空字符串,或者 它可以被写成 AB (A 与 B 连接), 其中 A 和 B 都是有效字符串,或者 它可以被写作 (A),其中 A 是有效字符串。 给定一个括号字符串,返回为使结果字符串有效而必须添加的最少括号数。...原创 2021-06-21 09:17:33 · 204 阅读 · 0 评论 -
1710. 漂亮数组
1710.漂亮数组对于某些固定的N,如果数组A是整数1, 2, ..., N组成的排列,使得:对于每个i < j,都不存在k 满足i < k < j使得A[k] * 2 = A[i] + A[j]。那么数组 A是漂亮数组。给定N,返回任意漂亮数组A(保证存在一个)。样例样例 1:输入: N = 4输出:[1,3,2,4]样例 2:输入: N = 5输出: [1,5,3,2,4]注...原创 2021-06-21 09:16:44 · 154 阅读 · 0 评论 -
1704. 二叉搜索树的范围和
1704.二叉搜索树的范围和给定二叉搜索树的根结点 root,返回 L 和 R(含)之间的所有结点的值的和。二叉搜索树保证具有唯一的值。样例样例 1:输入:root = [10,5,15,3,7,null,18], L = 7, R = 15输出:32样例2:*输入:root = [10,5,15,3,7,13,18,1,null,6], L = 6, R = 10输出:23注意事项树中的结点数量最多为 10000 ...原创 2021-06-21 09:15:42 · 70 阅读 · 0 评论