05 2021 档案

摘要:题目链接 官方题解 你准备参加一场远足活动。给你一个二维 rows x columns 的地图 heights ,其中 heights[row][col] 表示格子 (row, col) 的高度。一开始你在最左上角的格子 (0, 0) ,且你希望去最右下角的格子 (rows-1, columns-1 阅读全文
posted @ 2021-05-31 21:55 lipu123 阅读(97) 评论(0) 推荐(0)
摘要:题目链接 大佬链接 给你一个长度为 偶数 n 的整数数组 nums 和一个整数 limit 。每一次操作,你可以将 nums 中的任何整数替换为 1 到 limit 之间的另一个整数。 如果对于所有下标 i(下标从 0 开始),nums[i] + nums[n - 1 - i] 都等于同一个数,则数 阅读全文
posted @ 2021-05-31 21:04 lipu123 阅读(140) 评论(0) 推荐(0)
摘要:5756. 两个数组最小的异或值之和 视频链接 给你两个整数数组 nums1 和 nums2 ,它们长度都为 n 。 两个数组的 异或值之和 为 (nums1[0] XOR nums2[0]) + (nums1[1] XOR nums2[1]) + ... + (nums1[n - 1] XOR n 阅读全文
posted @ 2021-05-30 23:47 lipu123 阅读(127) 评论(0) 推荐(0)
摘要:传送门 视频传送门 给你一个 m x n 的整数矩阵 grid 。 菱形和 指的是 grid 中一个正菱形边界上的元素之和。本题中的菱形必须为正方形旋转45度,且四个角都在一个格子当中。下图是四个可行的菱形,每个菱形和应该包含的格子都用了相应颜色标注在图中。 注意,菱形可以是一个面积为 0 的区域, 阅读全文
posted @ 2021-05-30 22:02 lipu123 阅读(390) 评论(0) 推荐(0)
摘要:传送门 视频传送门 给你一个整数 hoursBefore ,表示你要前往会议所剩下的可用小时数。要想成功抵达会议现场,你必须途经 n 条道路。道路的长度用一个长度为 n 的整数数组 dist 表示,其中 dist[i] 表示第 i 条道路的长度(单位:千米)。另给你一个整数 speed ,表示你在道 阅读全文
posted @ 2021-05-30 21:44 lipu123 阅读(106) 评论(0) 推荐(0)
摘要:1567. 乘积为正数的最长子数组长度 给你一个整数数组 nums ,请你求出乘积为正数的最长子数组的长度。 一个数组的子数组是由原数组中零个或者更多个连续数字组成的数组。 请你返回乘积为正数的最长子数组长度。 示例 1: 输入:nums = [1,-2,-3,4] 输出:4 解释:数组本身乘积就是 阅读全文
posted @ 2021-05-30 00:17 lipu123 阅读(115) 评论(0) 推荐(0)
摘要:题目链接 解析链接 给你两个字符串 s 和 t ,请你通过若干次以下操作将字符串 s 转化成字符串 t : 选择 s 中一个 非空 子字符串并将它包含的字符就地 升序 排序。比方说,对下划线所示的子字符串进行操作可以由 "14234" 得到 "12344" 。 如果可以将字符串 s 变成 t ,返回 阅读全文
posted @ 2021-05-29 16:28 lipu123 阅读(92) 评论(0) 推荐(0)
摘要:带悔贪心的题目一般都是用小根堆或者大根堆来维护的 大题思想就是说如果做某种抉择的时候,如果后面还有比这个可选的比这个抉择更优的时候 你就先把这个抉择的值存到优先队列里,等下一个抉择的时候选择堆中最优的那个替换掉 https://www.acwing.com/activity/content/prob 阅读全文
posted @ 2021-05-29 16:00 lipu123 阅读(93) 评论(0) 推荐(0)
摘要:传送门 帕尔萨的巨树 帕尔萨有一棵巨大的树,上面有n个顶点。 在每个顶点v上,他写了两个整数lv和rv 为了让Parsa的树看起来更宏伟,Nima想给每个顶点v分配一个数字avav (lv≤av≤rv),这样Parsa的树的美丽就被最大化了。 尼玛的美感是相当奇怪的。他把树的美定义为|au−av|对 阅读全文
posted @ 2021-05-29 15:49 lipu123 阅读(115) 评论(0) 推荐(0)
摘要:B . 序列合并 [ 问题 4210 ] [ 讨论 ] Description 有两个长度都是N的序列A和B,在A和B中各取一个数相加可以得到N^2个和,求这N^2个和中最小的N个。 Input 第一行一个正整数NN; 第二行NN个整数AiAi,满足Ai≤Ai+1且Ai≤1e9; 第三行NN个整数B 阅读全文
posted @ 2021-05-28 21:06 lipu123 阅读(49) 评论(0) 推荐(0)
摘要:题目链接 解析链接 给你一个整数数组 nums​​​ 和一个整数 k​​​​​ 。区间 [left, right](left <= right)的 异或结果 是对下标位于 left 和 right(包括 left 和 right )之间所有元素进行 XOR 运算的结果:nums[left] XOR 阅读全文
posted @ 2021-05-28 11:22 lipu123 阅读(79) 评论(0) 推荐(0)
摘要:题目传送门 视频讲解 Winston 构造了一个如上所示的函数 func 。他有一个整数数组 arr 和一个整数 target ,他想找到让 |func(arr, l, r) - target| 最小的 l 和 r 。 请你返回 |func(arr, l, r) - target| 的最小值。 请注 阅读全文
posted @ 2021-05-28 11:06 lipu123 阅读(103) 评论(0) 推荐(0)
摘要:题目链接 视频讲解 小扣当前位于魔塔游戏第一层,共有 N 个房间,编号为 0 ~ N-1。每个房间的补血道具/怪物对于血量影响记于数组 nums,其中正数表示道具补血数值,即血量增加对应数值;负数表示怪物造成伤害值,即血量减少对应数值;0 表示房间对血量无影响。 小扣初始血量为 1,且无上限。假定小 阅读全文
posted @ 2021-05-26 23:28 lipu123 阅读(186) 评论(0) 推荐(0)
摘要:题目链接 视频题解 给你一个下标从 0 开始的二进制字符串 s 和两个整数 minJump 和 maxJump 。一开始,你在下标 0 处,且该位置的值一定为 '0' 。当同时满足如下条件时,你可以从下标 i 移动到下标 j 处: i + minJump <= j <= min(i + maxJum 阅读全文
posted @ 2021-05-26 23:05 lipu123 阅读(74) 评论(0) 推荐(0)
摘要:链接:https://ac.nowcoder.com/acm/contest/11173/E来源:牛客网 小 L 作为一位 oier 在 NOIP2017 考场上看着“小凯的疑惑”产生了疑惑。 小 L 手中有两种面值的金币,两种面值均为正整数且彼此互素。每种金币小 L都有无数个。 在不找零的情况下, 阅读全文
posted @ 2021-05-26 21:23 lipu123 阅读(184) 评论(0) 推荐(0)
摘要:模拟双端队列 传送门 输入样例1: 8 L 1 R 2 R 3 ? 2 L 4 ? 1 L 5 ? 1 输出样例1: 1 1 2 输入样例2: 10 L 100 R 100000 R 123 L 101 ? 123 L 10 R 115 ? 100 R 110 ? 115 输出样例2: 0 2 1这 阅读全文
posted @ 2021-05-25 23:48 lipu123 阅读(53) 评论(0) 推荐(0)
摘要:传送门 The weight of a sequence is defined as the number of unordered pairs of indexes (i,j)(here i<j) with same value (ai=aj). For example, the weight o 阅读全文
posted @ 2021-05-24 23:18 lipu123 阅读(171) 评论(0) 推荐(0)
摘要:题目链接 视频链接 给你一个 n 个点组成的无向图边集 edgeList ,其中 edgeList[i] = [ui, vi, disi] 表示点 ui 和点 vi 之间有一条长度为 disi 的边。请注意,两个点之间可能有 超过一条边 。 给你一个查询数组queries ,其中 queries[j 阅读全文
posted @ 2021-05-21 11:00 lipu123 阅读(59) 评论(0) 推荐(0)
摘要:1696. 跳跃游戏 VI 给你一个下标从 0 开始的整数数组 nums 和一个整数 k 。 一开始你在下标 0 处。每一步,你最多可以往前跳 k 步,但你不能跳出数组的边界。也就是说,你可以从下标 i 跳到 [i + 1, min(n - 1, i + k)] 包含 两个端点的任意位置。 你的目标 阅读全文
posted @ 2021-05-20 21:15 lipu123 阅读(68) 评论(0) 推荐(0)
摘要:题目 视频讲解 给你一个整数数组 nums 和一个整数 target 。 请你统计并返回 nums 中能满足其最小元素与最大元素的 和 小于或等于 target 的 非空 子序列的数目。 由于答案可能很大,请将结果对 10^9 + 7 取余后返回。 示例 1: 输入:nums = [3,5,6,7] 阅读全文
posted @ 2021-05-19 00:14 lipu123 阅读(109) 评论(0) 推荐(0)
摘要:1655. 分配重复整数 视频题解 给你一个长度为 n 的整数数组 nums ,这个数组中至多有 50 个不同的值。同时你有 m 个顾客的订单 quantity ,其中,整数 quantity[i] 是第 i 位顾客订单的数目。请你判断是否能将 nums 中的整数分配给这些顾客,且满足: 第 i 位 阅读全文
posted @ 2021-05-19 00:04 lipu123 阅读(86) 评论(0) 推荐(0)
摘要:这个操作可以把两层for循环2^(2*n)优化为3^n 讲解链接 题目 给定n个元素,问这n个元素组成的每一个集合的所有子集。(不妨n<=15) for (int S=1; S<(1<<n); ++S){ for (int S0=(S-1)&S; S0; S0=(S0-1)&S) //do some 阅读全文
posted @ 2021-05-18 23:39 lipu123 阅读(272) 评论(0) 推荐(0)
摘要:传送门 视频传送门 给你一个与 nums 大小相同且初始值全为 0 的数组 arr ,请你调用以上函数得到整数数组 nums 。 请你返回将 arr 变成 nums 的最少函数调用次数。 答案保证在 32 位有符号整数以内。 示例 1: 输入:nums = [1,5]输出:5解释:给第二个数加 1 阅读全文
posted @ 2021-05-17 23:50 lipu123 阅读(86) 评论(0) 推荐(0)
摘要:好巧啊,昨天刚做了一个最长公共子序列和最长递增子序列的转化的题,就是当一个序列数值不重复 然后今天又做了一个最长递增子序列的和的问题 总结一下就是如果是求最长递增子序列的个数的化这个式可以用贪心的思路NlogN的复杂度求解的 然后就是这个最长递增子序列最大和问题这个是不能贪心的只能n^2的复杂度求解 阅读全文
posted @ 2021-05-17 23:20 lipu123 阅读(65) 评论(0) 推荐(0)
摘要:小明喜欢武侠小说,在武侠世界里,他不但练就了一箭双雕的能力,还可以一箭多雕。现在所有雕在一条直线上从左到右排列,但是他们的高度不同。而小明想要把他们都射下来。小明使用的是一种特殊的弓箭,他可以将弓箭射到任意一个高度为H的雕,当射中一个高度为H的雕后,弓箭的高度会下降到H-1,再从左到右飞行,直到射到 阅读全文
posted @ 2021-05-17 17:07 lipu123 阅读(116) 评论(0) 推荐(0)
摘要:给你一个房屋数组houses 和一个整数 k ,其中 houses[i] 是第 i 栋房子在一条街上的位置,现需要在这条街上安排 k 个邮筒。 请你返回每栋房子与离它最近的邮筒之间的距离的 最小 总和。 答案保证在 32 位有符号整数范围以内。 示例 1: 输入:houses = [1,4,8,10 阅读全文
posted @ 2021-05-16 21:27 lipu123 阅读(124) 评论(0) 推荐(0)
摘要:传送门 视频讲解 你的国家有无数个湖泊,所有湖泊一开始都是空的。当第 n 个湖泊下雨的时候,如果第 n 个湖泊是空的,那么它就会装满水,否则这个湖泊会发生洪水。你的目标是避免任意一个湖泊发生洪水。 给你一个整数数组 rains ,其中: rains[i] > 0 表示第 i 天时,第 rains[i 阅读全文
posted @ 2021-05-16 17:16 lipu123 阅读(128) 评论(0) 推荐(0)
摘要:首先我是菜鸡,写的不好勿喷 传送门、 视频传送门 给出两个长度为n的整数序列,求它们的最长公共子序列(LCS)的长度,保证第一个序列中所有元素都不重复。 注意: 第一个序列中的所有元素均不重复。 第二个序列中可能有重复元素。 一个序列中的某些元素可能不在另一个序列中出现。 输入格式 第一行包含一个整 阅读全文
posted @ 2021-05-16 00:43 lipu123 阅读(85) 评论(0) 推荐(0)
摘要:给你一个整数数组 arr 和一个整数值 target 。 请你在 arr 中找 两个互不重叠的子数组 且它们的和都等于 target 。可能会有多种方案,请你返回满足要求的两个子数组长度和的 最小值 。 请返回满足要求的最小长度和,如果无法找到这样的两个子数组,请返回 -1 。 示例 1: 输入:a 阅读全文
posted @ 2021-05-16 00:20 lipu123 阅读(120) 评论(0) 推荐(0)
摘要:题目链接 视频题解 给你一个 rows x cols 的矩阵 grid 来表示一块樱桃地。 grid 中每个格子的数字表示你能获得的樱桃数目。 你有两个机器人帮你收集樱桃,机器人 1 从左上角格子 (0,0) 出发,机器人 2 从右上角格子 (0, cols-1) 出发。 请你按照如下规则,返回两个 阅读全文
posted @ 2021-05-15 19:39 lipu123 阅读(120) 评论(0) 推荐(0)
摘要:这个题就是folyed传递闭包的应用,当然写一个BFS也可以, 这个传递闭包解决的问题是:给你一些边比如A->B->C,表示的是有了A你才能选B,有了B你才能选C,就是给你一个A,C,问 你A是否是选C的条件 代码: void floyd() { for (int i = 1; i <= n; i+ 阅读全文
posted @ 2021-05-15 13:23 lipu123 阅读(141) 评论(0) 推荐(0)
摘要:给你一个数组 favoriteCompanies ,其中 favoriteCompanies[i] 是第 i 名用户收藏的公司清单(下标从 0 开始)。 请找出不是其他任何人收藏的公司清单的子集的收藏清单,并返回该清单下标。下标需要按升序排列。 示例 1: 输入:favoriteCompanies 阅读全文
posted @ 2021-05-13 23:11 lipu123 阅读(60) 评论(0) 推荐(0)
摘要:传送门 给你两个数组 nums1 和 nums2 。 请你返回 nums1 和 nums2 中两个长度相同的 非空 子序列的最大点积。 数组的非空子序列是通过删除原数组中某些元素(可能一个也不删除)后剩余数字组成的序列,但不能改变数字间相对顺序。比方说,[2,3,5] 是 [1,2,3,4,5] 的 阅读全文
posted @ 2021-05-13 20:16 lipu123 阅读(179) 评论(0) 推荐(0)
摘要:传送门 视频题解 公司有编号为 1 到 n 的 n 个工程师,给你两个数组 speed 和 efficiency ,其中 speed[i] 和 efficiency[i] 分别代表第 i 位工程师的速度和效率。请你返回由最多 k 个工程师组成的 ​​​​​​最大团队表现值 ,由于答案可能很大,请你返 阅读全文
posted @ 2021-05-11 22:58 lipu123 阅读(148) 评论(0) 推荐(0)
摘要:n个城镇编号1到n,中间有n-1通道长度都为1公里。 n个城镇共用k个警局,每个警局可以管理d公里以内的城镇治安。给出n个城镇的连接情况以及k个警局所在的城镇,问有多少城镇没有被任何一家警局管理。 样例中只有4号城镇没有被管理。 收起 输入 第1行:3个数n, k, d (2≤n≤10^5, 1≤k 阅读全文
posted @ 2021-05-08 00:44 lipu123 阅读(294) 评论(0) 推荐(0)
摘要:在一个小城市里,有 m 个房子排成一排,你需要给每个房子涂上 n 种颜色之一(颜色编号为 1 到 n )。有的房子去年夏天已经涂过颜色了,所以这些房子不可以被重新涂色。 我们将连续相同颜色尽可能多的房子称为一个街区。(比方说 houses = [1,2,2,3,3,2,1,1] ,它包含 5 个街区 阅读全文
posted @ 2021-05-08 00:35 lipu123 阅读(83) 评论(0) 推荐(0)
摘要:1473. 粉刷房子 III 在一个小城市里,有 m 个房子排成一排,你需要给每个房子涂上 n 种颜色之一(颜色编号为 1 到 n )。有的房子去年夏天已经涂过颜色了,所以这些房子不可以被重新涂色。 我们将连续相同颜色尽可能多的房子称为一个街区。(比方说 houses = [1,2,2,3,3,2, 阅读全文
posted @ 2021-05-07 21:02 lipu123 阅读(63) 评论(0) 推荐(0)
摘要:传送门 Dima overslept the alarm clock, which was supposed to raise him to school. Dima wonders if he will have time to come to the first lesson. To do th 阅读全文
posted @ 2021-05-07 20:46 lipu123 阅读(251) 评论(0) 推荐(0)
摘要:题目链接 讲解链接 题目描述给出一个非负整数的数据流 a1,a2,…an,…a1,a2,…an,…,请将它们动态地维护成一系列不相交的区间。 思考题: 假设有非常多的区间合并操作,并且区间总数远小于所有数的个数时,该怎么做? 样例给定数据流:1, 3, 7, 2, 6, ..., 动态得到的区间是: 阅读全文
posted @ 2021-05-06 21:30 lipu123 阅读(78) 评论(0) 推荐(0)
摘要:D. Maximum Sum of Products Examples input Copy 5 2 3 2 1 3 1 3 2 4 2 output Copy 29 input Copy 2 13 37 2 4 output Copy 174 input Copy 6 1 8 7 6 3 6 5 阅读全文
posted @ 2021-05-06 19:59 lipu123 阅读(149) 评论(0) 推荐(0)
摘要:字典树模板题(查询数量) Ignatius最近遇到一个难题,老师交给他很多单词(只有小写字母组成,不会有重复的单词出现),现在老师要他统计出以某个字符串为前缀的单词数量(单词本身也是自己的前缀). Input输入数据的第一部分是一张单词表,每行一个单词,单词的长度不超过10,它们代表的是老师交给11 阅读全文
posted @ 2021-05-05 11:26 lipu123 阅读(195) 评论(0) 推荐(0)
摘要:The world famous pirate Cornelius “Cheesehead” Bakker was a renowned astronomer and mathematician. He buried most of his treasury in the Caribbean isl 阅读全文
posted @ 2021-05-04 20:18 lipu123 阅读(110) 评论(0) 推荐(0)
摘要:题目链接 视频链接 给你一个字符串 num 和一个整数 k 。其中,num 表示一个很大的整数,字符串中的每个字符依次对应整数上的各个 数位 。 你可以交换这个整数相邻数位的数字 最多 k 次。 请你返回你能得到的最小整数,并以字符串形式返回。 示例 1: 输入:num = "4321", k = 阅读全文
posted @ 2021-05-04 20:02 lipu123 阅读(94) 评论(0) 推荐(0)
摘要:题目链接 视频讲解 给你一个表示大整数的字符串 num ,和一个整数 k 。 如果某个整数是 num 中各位数字的一个 排列 且它的 值大于 num ,则称这个整数为 妙数 。可能存在很多妙数,但是只需要关注 值最小 的那些。 例如,num = "5489355142" :第 1 个最小妙数是 "5 阅读全文
posted @ 2021-05-04 19:54 lipu123 阅读(219) 评论(0) 推荐(0)
摘要:题意: 给定一个包含1-n的数列,通过交换任意两个元素给数列重新排序。求最少需要多少次交换,能把数组排成按1-n递增的顺序,(数组中的元素互不重复)。 举例: 原数列为2,4,3,6,5,7;第一次交换(3,4)得2,3,4,6,5,7;第二次交换(5,6)得2,3,4,5,6,7。完成排序需2次。 阅读全文
posted @ 2021-05-04 00:27 lipu123 阅读(716) 评论(0) 推荐(0)
摘要:Listening to the rock music permutes your nuclear DNA. This astonishing and unbelievable fact was recently published in the Rock Nature Weekly, one of 阅读全文
posted @ 2021-05-03 20:18 lipu123 阅读(45) 评论(0) 推荐(0)
摘要:传送门 这个题的题意就是 给出n个数,可以自己求出他们的最大公因数m,去掉最少的数使得剩下的数的最大公因数大于m,如果没有解决方案则输出 -1即可 这个题你先求出来它的m,然后令每一个数除以m,这样就转化成了求剩下数的gcd为i这个值的最多保留多少个,这样用埃式筛筛一下就行 为什么要这样呢,因为你都 阅读全文
posted @ 2021-05-03 19:46 lipu123 阅读(70) 评论(0) 推荐(0)
摘要:1421 最大MOD值 有一个a数组,里面有n个整数。现在要从中找到两个数字(可以是同一个) ai,aj,使得 ai mod aj 最大并且 ai ≥ aj。 收起 输入 单组测试数据。 第一行包含一个整数n,表示数组a的大小。(1 ≤ n ≤ 2*10^5) 第二行有n个用空格分开的整数ai (1 阅读全文
posted @ 2021-05-03 11:42 lipu123 阅读(143) 评论(0) 推荐(0)
摘要:3039 叶子节点的路径 给出一棵n个节点的树,节点编号为1-n(根节点编号为1)。对于每一个叶子节点,输出从根到叶子的路径。(按照路径的字典序)。 输入 第一行:1个数n(2 < n <= 1000),表示树的节点数量。 后面n-1行:每行2个数x y,表示节点x是节点y的父节点(1 <= x, 阅读全文
posted @ 2021-05-02 21:41 lipu123 阅读(484) 评论(0) 推荐(0)
摘要:传送门 这个题是一个二进制模拟 现在有好多种砝码,他们的重量是 w0,w1,w2,... 每种各一个。问用这些砝码能不能表示一个重量为m的东西。 样例解释:可以将重物和3放到一个托盘中,9和1放到另外一个托盘中。 输入 单组测试数据。 第一行有两个整数w,m (2 ≤ w ≤ 10^9, 1 ≤ m 阅读全文
posted @ 2021-05-02 21:19 lipu123 阅读(263) 评论(0) 推荐(0)
摘要:传送门 几天以前,我学习了最小公倍数。玩得挺久了,想换换口味。 我不想用太多的数字,我想从1到n中选三个数字(可以相同)。使得他们的最小公倍数最大。 单组测试数据。 第一行有一个整数n (1≤n≤1,000,000)。 输出 输出一个整数表示选三个数字的最大的最小公倍数。 输入样例 9 7 输出样例 阅读全文
posted @ 2021-05-02 16:02 lipu123 阅读(153) 评论(0) 推荐(0)
摘要:传送门 一个长度为N的正整数数组A,给出一个数K以及Q个查询,每个查询包含2个数l和r,对于每个查询输出从A[i]到A[j]中,有多少对数,abs(A[i] - A[j]) <= K(abs表示绝对值)。 输入 第1行:3个数N,K,Q,中间用空格分隔,N为数组A的长度,K为差距,Q为查询的数量。( 阅读全文
posted @ 2021-05-02 14:24 lipu123 阅读(122) 评论(0) 推荐(0)
摘要:视频题解 题目链接 我们定义 arr 是 山形数组 当且仅当它满足: arr.length >= 3存在某个下标 i (从 0 开始) 满足 0 < i < arr.length - 1 且:arr[0] < arr[1] < ... < arr[i - 1] < arr[i]arr[i] > ar 阅读全文
posted @ 2021-05-01 22:22 lipu123 阅读(90) 评论(0) 推荐(0)