随笔分类 -  算法-贪心、暴力、尺取、双指针、DFS、BFS、二分三分、打表 / 尺取、双指针

摘要:https://oj.algomooc.com/problem.php?id=5801 小红书的推荐帖子列表为\([0,n)\),其中所有的帖子初始状态为“普通”,现在运营同学把其中的一些帖子区间标记为了“精华”。 运营同学选择了固定长度\(k\),对整个帖子列表截取,要求计算在固定的截取长度k下, 阅读全文
posted @ 2024-04-26 21:35 lipu123
摘要:链接:https://ac.nowcoder.com/acm/contest/79240/C 来源:牛客网 给出一个字符串s,s仅由小写字母组成,求s中包含所有个小写字母的最小子串长度。 输入描述: 一行一个字符串S。只包含小写字母。S 的长度不超过\(10^6\). 输出描述: 一行一个数字,代表 阅读全文
posted @ 2024-04-08 10:11 lipu123
摘要:给定一个长度为\(n\)的整数数组\(height\)。有\(n\)条垂线,第\(i\)条线的两个端点是\((i,0)\)和\((i,height[i])\)。 找出其中的两条线,使得它们与\(x\)轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量。 说明:你不能倾斜容器。 示例 1: 阅读全文
posted @ 2023-12-28 10:33 lipu123
摘要:给你一个整数数组\(nums\)和一个整数\(target\)。 请你统计并返回\(nums\)中能满足其最小元素与最大元素的 和 小于或等于\(target\)的 非空 子序列的数目。 由于答案可能很大,请将结果对\(10^9 + 7\)取余后返回。 示例 1: 输入:nums = [3,5,6, 阅读全文
posted @ 2023-12-06 20:59 lipu123
摘要:给定一个字符串\(s\),请你找出其中不含有重复字符的最长子串的长度。 示例 1: 输入: s = "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 示例 2: 输入: s = "bbbbb" 输出: 1 解释: 因为无重复字符的最长子串是 "b" 阅读全文
posted @ 2023-11-18 16:56 lipu123
摘要:链接:https://vjudge.net/problem/POJ-3320/origin JES读一本书,要看完所有的知识点,这本书共有\(P\)页,第\(i\)页恰好有一个知识点\(a_i\),(每一个知识点都有一个整数编号)。全书同一个知识点可能会被提到多次,他希望阅读其中一些连续的页把所有知 阅读全文
posted @ 2023-11-18 16:33 lipu123
摘要:给定一个含有\(n\)个正整数的数组和一个正整数\(target\)。 找出该数组中满足其总和大于等于 target 的长度最小的 连续子数组\([numsl, numsl+1, ..., numsr-1, numsr]\),并返回其长度。如果不存在符合条件的子数组,返回 0 。 示例 1: 输入: 阅读全文
posted @ 2023-11-18 11:23 lipu123
摘要:给你一个字符串\(s\)、一个字符串\(t\)。返回\(s\)中涵盖\(t\)所有字符的最小子串。如果\(s\)中不存在涵盖\(t\)所有字符的子串,则返回空字符串 "" 。 注意: 对于\(t\)中重复字符,我们寻找的子字符串中该字符数量必须不少于\(t\)中该字符数量。 如果\(s\)中存在这样 阅读全文
posted @ 2023-11-17 20:17 lipu123
摘要:问题一: 传送门 给定一个整数数组,返回所有数对之间的第 k 个最小距离。一对 (A, B) 的距离被定义为 A 和 B 之间的绝对差值。 示例 1: 输入:nums = [1,3,1]k = 1输出:0 解释:所有数对如下:(1,3) -> 2(1,1) -> 0(3,1) -> 2因此第 1 个 阅读全文
posted @ 2021-10-21 20:56 lipu123 阅读(104) 评论(0) 推荐(0)
摘要:题目描述 给定$n$个非负整数 $a1,a2,…,an$表示平面上有$n$条竖线,第$i$条竖线的两个端点是$(i,ai)$和$(i,0)$。 请找出两条竖线,使得它们与$x$轴组成的容器能盛最多的水。 注意:不可以把线倾斜,并且$n≥2$。 输入格式 第一行包含整数$n$。 第二行包含$n$个非负 阅读全文
posted @ 2021-09-02 19:20 lipu123 阅读(190) 评论(0) 推荐(0)
摘要:给你一个整数数组 arr 和一个整数值 target 。 请你在 arr 中找 两个互不重叠的子数组 且它们的和都等于 target 。可能会有多种方案,请你返回满足要求的两个子数组长度和的 最小值 。 请返回满足要求的最小长度和,如果无法找到这样的两个子数组,请返回 -1 。 示例 1: 输入:a 阅读全文
posted @ 2021-05-16 00:20 lipu123 阅读(120) 评论(0) 推荐(0)
摘要:给你一个数组 favoriteCompanies ,其中 favoriteCompanies[i] 是第 i 名用户收藏的公司清单(下标从 0 开始)。 请找出不是其他任何人收藏的公司清单的子集的收藏清单,并返回该清单下标。下标需要按升序排列。 示例 1: 输入:favoriteCompanies 阅读全文
posted @ 2021-05-13 23:11 lipu123 阅读(60) 评论(0) 推荐(0)
摘要:链接:https://ac.nowcoder.com/acm/contest/8755/E来源:牛客网 藤原妹红拿到了一个游戏机,游戏机上有'1'和'0'两个按钮。 妹红发现,只要按住某个按钮不放,屏幕上就能一直不断打印那个字符。 比如对于"11111111100000000001111111111 阅读全文
posted @ 2020-11-22 23:56 lipu123 阅读(423) 评论(0) 推荐(0)
摘要:尺取的时候一定要满足"单调性",就是 单调性就是 比如 区间取和 我在右边界向右延伸的过程中 整个区间和是不断增大的 不会变小 不然右侧就不会延伸 反而右边会向回收缩,这样的话就会造成一种很混乱的局面 例一: JES读一本书,要看完所有的知识点,这本书共有P页,第i页恰好有一个知识点ai,(每一个知 阅读全文
posted @ 2020-11-22 23:50 lipu123 阅读(277) 评论(0) 推荐(0)
摘要:传送门 时限: 1000MS 内存限制: 65536K 提交总数: 34708 接受: 14379 描述 给出了N个正整数(10 <N <100 000)的序列,每个正整数均小于或等于10000,并给出了一个正整数S(S <100 000 000)。编写程序以查找该序列的连续元素的子序列的最小长度, 阅读全文
posted @ 2020-11-14 23:00 lipu123 阅读(99) 评论(0) 推荐(0)