随笔分类 -  算法-数据结构

摘要:5790. 查询差绝对值的最小值 视频题解 一个数组 a 的 差绝对值的最小值 定义为:0 <= i < j < a.length 且 a[i] != a[j] 的 |a[i] - a[j]| 的 最小值。如果 a 中所有元素都 相同 ,那么差绝对值的最小值为 -1 。 比方说,数组 [5,2,3, 阅读全文
posted @ 2021-06-21 00:25 lipu123 阅读(205) 评论(0) 推荐(0)
摘要:链接:https://ac.nowcoder.com/acm/contest/11212/F来源:牛客网 有一天,你路过机房,发现有两个人在讨论 溪染:喂,叁秋,你知道什么是连续非空子序列嘛? 叁秋:知道啊! 溪染:举个栗子? 叁秋:如果这里有个数组为{1,2,3},那么它的连续非空子序列有{1}, 阅读全文
posted @ 2021-06-20 11:44 lipu123 阅读(501) 评论(0) 推荐(0)
摘要:给定一个长度为 nn 的整数序列 a1,a2,…,an。 请你选出一个该序列的严格上升子序列,要求所选子序列的各元素之和尽可能大。 请问这个最大值是多少? 输入格式 第一行包含整数 n。 第二行包含 n 个整数 a1,a2,…,an。 输出格式 输出最大的上升子序列和。 数据范围 对于前三个测试点, 阅读全文
posted @ 2021-06-12 21:48 lipu123 阅读(67) 评论(0) 推荐(0)
摘要:5778. 使二进制字符串字符交替的最少反转次数 视频讲解 给你一个二进制字符串 s 。你可以按任意顺序执行以下两种操作任意次: 类型 1 :删除 字符串 s 的第一个字符并将它 添加 到字符串结尾。 类型 2 :选择 字符串 s 中任意一个字符并将该字符 反转 ,也就是如果值为 '0' ,则反转得 阅读全文
posted @ 2021-06-07 00:10 lipu123 阅读(218) 评论(0) 推荐(0)
摘要:题目传送门 这个题,很容易想到分解成两个前缀和后缀数组的 用两个数组l和r, l[i]=A[0]*A[1]*…*A[i-1], l[i]=A[i-1]*l[i-1]; r[i] = A[i+1]*A[i+2]*…*A[n-1],则r[i]=A[i+1]*r[i+1]。 最后结果B[i]=l[i]*r 阅读全文
posted @ 2021-06-06 23:13 lipu123 阅读(58) 评论(0) 推荐(0)
摘要:传送门 输入样例: 1 10 1 -1 2 2 3 -3 4 -4 5 -5 输出样例: 13 样例解释 在样例中,我们取{2,2,3,-3,4}和{5}两个子段,即可得到答案。 这个题就是一个处理前后缀分解的题目 一般这种题目就是枚举分界点,这个题就是枚举一个i,然后就是前i个最大非空子段和加上i 阅读全文
posted @ 2021-06-06 23:08 lipu123 阅读(102) 评论(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)
摘要:传送门 视频传送门 给你一个 m x n 的整数矩阵 grid 。 菱形和 指的是 grid 中一个正菱形边界上的元素之和。本题中的菱形必须为正方形旋转45度,且四个角都在一个格子当中。下图是四个可行的菱形,每个菱形和应该包含的格子都用了相应颜色标注在图中。 注意,菱形可以是一个面积为 0 的区域, 阅读全文
posted @ 2021-05-30 22:02 lipu123 阅读(391) 评论(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)
摘要:题目链接 视频讲解 小扣当前位于魔塔游戏第一层,共有 N 个房间,编号为 0 ~ N-1。每个房间的补血道具/怪物对于血量影响记于数组 nums,其中正数表示道具补血数值,即血量增加对应数值;负数表示怪物造成伤害值,即血量减少对应数值;0 表示房间对血量无影响。 小扣初始血量为 1,且无上限。假定小 阅读全文
posted @ 2021-05-26 23:28 lipu123 阅读(187) 评论(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)
摘要: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)
摘要:传送门 视频讲解 你的国家有无数个湖泊,所有湖泊一开始都是空的。当第 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)
摘要:传送门 视频题解 公司有编号为 1 到 n 的 n 个工程师,给你两个数组 speed 和 efficiency ,其中 speed[i] 和 efficiency[i] 分别代表第 i 位工程师的速度和效率。请你返回由最多 k 个工程师组成的 ​​​​​​最大团队表现值 ,由于答案可能很大,请你返 阅读全文
posted @ 2021-05-11 22:58 lipu123 阅读(148) 评论(0) 推荐(0)
摘要:字典树模板题(查询数量) Ignatius最近遇到一个难题,老师交给他很多单词(只有小写字母组成,不会有重复的单词出现),现在老师要他统计出以某个字符串为前缀的单词数量(单词本身也是自己的前缀). Input输入数据的第一部分是一张单词表,每行一个单词,单词的长度不超过10,它们代表的是老师交给11 阅读全文
posted @ 2021-05-05 11:26 lipu123 阅读(196) 评论(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 阅读(123) 评论(0) 推荐(0)
摘要:有N个任务,每个任务有一个最晚结束时间以及一个对应的奖励。在结束时间之前完成该任务,就可以获得对应的奖励。完成每一个任务所需的时间都是1个单位时间。有时候完成所有任务是不可能的,因为时间上可能会有冲突,这需要你来取舍。求能够获得的最高奖励。 收起 输入 第1行:一个数N,表示任务的数量(2 <= N 阅读全文
posted @ 2021-04-27 23:54 lipu123 阅读(70) 评论(0) 推荐(0)