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

摘要:使 X 和 Y 相等的最少操作次数 https://leetcode.cn/problems/minimum-number-of-operations-to-make-x-and-y-equal/description/ 给你两个正整数 x 和 y 。 一次操作中,你可以执行以下四种操作之一: 如果 阅读全文
posted @ 2024-01-08 21:29 lipu123
摘要:链接:https://ac.nowcoder.com/acm/contest/72980/C 来源:牛客网 小菜鸡今天在打某款 ingteresting 的游戏。每当他通关游戏的某一关卡,该关卡的累计得分值就会增加 \(\mathrm{x}\)。由于\(\mathrm{x}\) 是一个正实数,因此存 阅读全文
posted @ 2024-01-08 15:04 lipu123
摘要:https://leetcode.cn/problems/find-longest-special-substring-that-occurs-thrice-ii/description/ 给你一个仅由小写英文字母组成的字符串\(s\)。 如果一个字符串仅由单一字符组成,那么它被称为 特殊 字符串。 阅读全文
posted @ 2024-01-02 20:47 lipu123
摘要:链接:https://ac.nowcoder.com/acm/contest/72779/C 来源:牛客网 小红来到了一片沼泽地的岸边,她希望能通过这片沼泽地。 这个沼泽地地图用一个矩阵进行表示。1代表沼泽,0代表平地。小红刚开始在矩阵的左上角,她需要从右下角离开地图。已知进入地图和离开地图的时间可 阅读全文
posted @ 2024-01-02 20:37 lipu123
摘要:有一些球形气球贴在一堵用\(XY\)平面表示的墙面上。墙面上的气球记录在整数数组\(points\),其中\(points[i] = [x_{start}, x_{end}]\)表示水平直径在\(x_{start}\)和\(x_{end}\)之间的气球。你不知道气球的确切\(y\)坐标。 一支弓箭可 阅读全文
posted @ 2023-12-29 14:35 lipu123
摘要:给定一个长度为\(n\)的整数数组\(height\)。有\(n\)条垂线,第\(i\)条线的两个端点是\((i,0)\)和\((i,height[i])\)。 找出其中的两条线,使得它们与\(x\)轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量。 说明:你不能倾斜容器。 示例 1: 阅读全文
posted @ 2023-12-28 10:33 lipu123
摘要:https://leetcode.cn/problems/shortest-bridge/description/ 给你一个大小为\(n \times n\)的二元矩阵\(grid\),其中\(1\)表示陆地,\(0\)表示水域。 岛是由四面相连的 1 形成的一个最大组,即不会与非组内的任何其他 1 阅读全文
posted @ 2023-12-25 21:01 lipu123
摘要:链接:https://ac.nowcoder.com/acm/contest/71993/D 来源:牛客网 小红拿到了一个数组,她每次可以进行如下操作: 选择一个数,使其减去 \(x\)。 小红希望\(k\)次操作之后,该数组的最大值尽可能小。请你求出这个尽可能小的最大值。 输入描述: 第一行输入三 阅读全文
posted @ 2023-12-23 21:26 lipu123
摘要:链接:https://ac.nowcoder.com/acm/contest/72041/D 来源:牛客网 小冰老是搞不清楚子串和子序列的区别,小天想要帮助小冰区分子串和子序列,小天告诉小冰,子串是连续的,子序列不一定连续,在一个字符串中,如果确定了子串的首和尾,那么子串就确定了。而子序列却不一定。 阅读全文
posted @ 2023-12-16 21:58 lipu123
摘要:在给定的 m x n 网格 grid 中,每个单元格可以有以下三个值之一: 值 0 代表空单元格; 值 1 代表新鲜橘子; 值 2 代表腐烂的橘子。 每分钟,腐烂的橘子 周围 4 个方向上相邻 的新鲜橘子都会腐烂。 返回 直到单元格中没有新鲜橘子为止所必须经过的最小分钟数。如果不可能,返回 -1 。 阅读全文
posted @ 2023-12-14 10:50 lipu123
摘要:给你一个整数数组\(nums\)和一个整数\(target\)。 请你统计并返回\(nums\)中能满足其最小元素与最大元素的 和 小于或等于\(target\)的 非空 子序列的数目。 由于答案可能很大,请将结果对\(10^9 + 7\)取余后返回。 示例 1: 输入:nums = [3,5,6, 阅读全文
posted @ 2023-12-06 20:59 lipu123
摘要:子集 给你一个整数数组\(nums\),数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。 解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。 示例 1: 输入:nums = [1,2,3] 输出:[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]] 阅读全文
posted @ 2023-11-23 21:06 lipu123
摘要:链接:https://ac.nowcoder.com/acm/contest/69695/B 来源:牛客网 小红定义一个01串的“连续段”为:连续相同字符的极大长度。例如:"110001111"有一个长度为2的连续段,有一个长度为3的连续段,有一个长度为4的连续段。 小红拿到了一个01串,但其中有一 阅读全文
posted @ 2023-11-21 19:15 lipu123
摘要:链接:https://ac.nowcoder.com/acm/contest/69695/D 来源:牛客网 小红拿到了两个正整数\(a\)和\(b\),她每次操作可以选择其中一个正整数,删除一个数位。例如,对于"1243"而言,进行一次操作可以生成"124"、"123"、"143"或"243"。 小 阅读全文
posted @ 2023-11-21 17:59 lipu123
摘要:给定一个字符串\(s\),通过将字符串\(s\)中的每个字母转变大小写,我们可以获得一个新的字符串。 返回 所有可能得到的字符串集合 。以任意顺序返回输出。 示例 1: 输入:s = "a1b2" 输出:["a1b2", "a1B2", "A1b2", "A1B2"] 示例 2: 输入: s = " 阅读全文
posted @ 2023-11-20 21:15 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