随笔分类 - 算法-刷题题目
牛客,leetcode,codeforces
摘要:传送门 视频传送门 给你一个 m x n 的整数矩阵 grid 。 菱形和 指的是 grid 中一个正菱形边界上的元素之和。本题中的菱形必须为正方形旋转45度,且四个角都在一个格子当中。下图是四个可行的菱形,每个菱形和应该包含的格子都用了相应颜色标注在图中。 注意,菱形可以是一个面积为 0 的区域,
阅读全文
摘要:传送门 视频传送门 给你一个整数 hoursBefore ,表示你要前往会议所剩下的可用小时数。要想成功抵达会议现场,你必须途经 n 条道路。道路的长度用一个长度为 n 的整数数组 dist 表示,其中 dist[i] 表示第 i 条道路的长度(单位:千米)。另给你一个整数 speed ,表示你在道
阅读全文
摘要:题目链接 解析链接 给你两个字符串 s 和 t ,请你通过若干次以下操作将字符串 s 转化成字符串 t : 选择 s 中一个 非空 子字符串并将它包含的字符就地 升序 排序。比方说,对下划线所示的子字符串进行操作可以由 "14234" 得到 "12344" 。 如果可以将字符串 s 变成 t ,返回
阅读全文
摘要:B . 序列合并 [ 问题 4210 ] [ 讨论 ] Description 有两个长度都是N的序列A和B,在A和B中各取一个数相加可以得到N^2个和,求这N^2个和中最小的N个。 Input 第一行一个正整数NN; 第二行NN个整数AiAi,满足Ai≤Ai+1且Ai≤1e9; 第三行NN个整数B
阅读全文
摘要:题目链接 解析链接 给你一个整数数组 nums 和一个整数 k 。区间 [left, right](left <= right)的 异或结果 是对下标位于 left 和 right(包括 left 和 right )之间所有元素进行 XOR 运算的结果:nums[left] XOR
阅读全文
摘要:题目传送门 视频讲解 Winston 构造了一个如上所示的函数 func 。他有一个整数数组 arr 和一个整数 target ,他想找到让 |func(arr, l, r) - target| 最小的 l 和 r 。 请你返回 |func(arr, l, r) - target| 的最小值。 请注
阅读全文
摘要:题目链接 视频讲解 小扣当前位于魔塔游戏第一层,共有 N 个房间,编号为 0 ~ N-1。每个房间的补血道具/怪物对于血量影响记于数组 nums,其中正数表示道具补血数值,即血量增加对应数值;负数表示怪物造成伤害值,即血量减少对应数值;0 表示房间对血量无影响。 小扣初始血量为 1,且无上限。假定小
阅读全文
摘要:题目链接 视频题解 给你一个下标从 0 开始的二进制字符串 s 和两个整数 minJump 和 maxJump 。一开始,你在下标 0 处,且该位置的值一定为 '0' 。当同时满足如下条件时,你可以从下标 i 移动到下标 j 处: i + minJump <= j <= min(i + maxJum
阅读全文
摘要:模拟双端队列 传送门 输入样例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这
阅读全文
摘要:传送门 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
阅读全文
摘要:题目链接 视频链接 给你一个 n 个点组成的无向图边集 edgeList ,其中 edgeList[i] = [ui, vi, disi] 表示点 ui 和点 vi 之间有一条长度为 disi 的边。请注意,两个点之间可能有 超过一条边 。 给你一个查询数组queries ,其中 queries[j
阅读全文
摘要:1696. 跳跃游戏 VI 给你一个下标从 0 开始的整数数组 nums 和一个整数 k 。 一开始你在下标 0 处。每一步,你最多可以往前跳 k 步,但你不能跳出数组的边界。也就是说,你可以从下标 i 跳到 [i + 1, min(n - 1, i + k)] 包含 两个端点的任意位置。 你的目标
阅读全文
摘要:题目 视频讲解 给你一个整数数组 nums 和一个整数 target 。 请你统计并返回 nums 中能满足其最小元素与最大元素的 和 小于或等于 target 的 非空 子序列的数目。 由于答案可能很大,请将结果对 10^9 + 7 取余后返回。 示例 1: 输入:nums = [3,5,6,7]
阅读全文
摘要:1655. 分配重复整数 视频题解 给你一个长度为 n 的整数数组 nums ,这个数组中至多有 50 个不同的值。同时你有 m 个顾客的订单 quantity ,其中,整数 quantity[i] 是第 i 位顾客订单的数目。请你判断是否能将 nums 中的整数分配给这些顾客,且满足: 第 i 位
阅读全文
摘要:这个操作可以把两层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
阅读全文
摘要:传送门 视频传送门 给你一个与 nums 大小相同且初始值全为 0 的数组 arr ,请你调用以上函数得到整数数组 nums 。 请你返回将 arr 变成 nums 的最少函数调用次数。 答案保证在 32 位有符号整数以内。 示例 1: 输入:nums = [1,5]输出:5解释:给第二个数加 1
阅读全文
摘要:小明喜欢武侠小说,在武侠世界里,他不但练就了一箭双雕的能力,还可以一箭多雕。现在所有雕在一条直线上从左到右排列,但是他们的高度不同。而小明想要把他们都射下来。小明使用的是一种特殊的弓箭,他可以将弓箭射到任意一个高度为H的雕,当射中一个高度为H的雕后,弓箭的高度会下降到H-1,再从左到右飞行,直到射到
阅读全文
摘要:给你一个房屋数组houses 和一个整数 k ,其中 houses[i] 是第 i 栋房子在一条街上的位置,现需要在这条街上安排 k 个邮筒。 请你返回每栋房子与离它最近的邮筒之间的距离的 最小 总和。 答案保证在 32 位有符号整数范围以内。 示例 1: 输入:houses = [1,4,8,10
阅读全文
摘要:传送门 视频讲解 你的国家有无数个湖泊,所有湖泊一开始都是空的。当第 n 个湖泊下雨的时候,如果第 n 个湖泊是空的,那么它就会装满水,否则这个湖泊会发生洪水。你的目标是避免任意一个湖泊发生洪水。 给你一个整数数组 rains ,其中: rains[i] > 0 表示第 i 天时,第 rains[i
阅读全文