随笔分类 -  算法-刷题题目 / 力扣+acwing

摘要:https://leetcode.cn/problems/shortest-bridge/description/ 给你一个大小为\(n \times n\)的二元矩阵\(grid\),其中\(1\)表示陆地,\(0\)表示水域。 岛是由四面相连的 1 形成的一个最大组,即不会与非组内的任何其他 1 阅读全文
posted @ 2023-12-25 21:01 lipu123
摘要:你这个学期必须选修 numCourses 门课程,记为 0 到 numCourses - 1 。 在选修某些课程之前需要一些先修课程。 先修课程按数组 prerequisites 给出,其中 prerequisites[i] = [ai, bi] ,表示如果要学习课程 ai 则 必须 先学习课程 b 阅读全文
posted @ 2023-12-14 11:34 lipu123
摘要:https://leetcode.cn/problems/count-subarrays-where-max-element-appears-at-least-k-times/description/ 给你一个整数数组 nums 和一个 正整数 k 。 请你统计有多少满足「nums 中的最大元素」至 阅读全文
posted @ 2023-12-13 17:38 lipu123
摘要:假设有打乱顺序的一群人站成一个队列,数组 people 表示队列中一些人的属性(不一定按顺序)。每个 \(people[i] = [h_i, k_i]\)表示第\(i\)个人的身高为\(h_i\),前面 正好 有\(k_i\)个身高大于或等于\(h_i\)的人。 请你重新构造并返回输入数组\(peo 阅读全文
posted @ 2023-12-12 19:56 lipu123
摘要:给你一个整数数组\(nums\)和一个整数\(target\)。 请你统计并返回\(nums\)中能满足其最小元素与最大元素的 和 小于或等于\(target\)的 非空 子序列的数目。 由于答案可能很大,请将结果对\(10^9 + 7\)取余后返回。 示例 1: 输入:nums = [3,5,6, 阅读全文
posted @ 2023-12-06 20:59 lipu123
摘要:给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。 请你设计并实现时间复杂度为 O(n) 的算法解决此问题。 示例 1: 输入:nums = [100,4,200,1,3,2] 输出:4 解释:最长数字连续序列是 [1, 2, 3, 4]。它的长度为 阅读全文
posted @ 2023-12-06 16:52 lipu123
摘要:找出满足差值条件的下标 II() 给你一个下标从\(0\)开始、长度为\(n\)的整数数组\(nums\),以及整数\(indexDifference\)和整数\(valueDifference\)。 你的任务是从范围\([0, n - 1]\)内找出\(2\)个满足下述所有条件的下标\(i\)和\ 阅读全文
posted @ 2023-12-01 17:55 lipu123
摘要:最小栈 https://leetcode.cn/problems/min-stack/description/ 设计一个支持\(push\),\(pop\) ,\(top\) 操作,并能在常数时间内检索到最小元素的栈。 实现 MinStack 类: MinStack() 初始化堆栈对象。 void 阅读全文
posted @ 2023-11-25 11:41 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
摘要:给定一个字符串\(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
摘要:给定一个含有\(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
摘要:给你一个整数数组\(nums\)和一个整数\(k\),请你统计并返回 该数组中和为\(k\)的子数组的个数。子数组是数组中元素的连续非空序列。 示例 1: 输入:nums = [1,1,1], k = 2 输出:2 示例 2: 输入:nums = [1,2,3], k = 3 输出:2 提示: \( 阅读全文
posted @ 2023-11-12 20:30 lipu123
摘要:二分查找 题目链接 给定一个\(n\)个元素有序的(升序)整型数组\(nums\)和一个目标值\(target\),写一个函数搜索$nums 中的 target,如果目标值存在返回下标,否则返回 -1。 示例 1: 输入: nums = [-1,0,3,5,9,12], target = 9 输出: 阅读全文
posted @ 2023-11-11 20:36 lipu123
摘要:链接:https://leetcode.cn/studyplan/dynamic-programming/ 斐波那契类型 打家劫舍 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入, 阅读全文
posted @ 2023-11-06 16:31 lipu123
摘要:给你一个下标从\(0\)开始的整数数组\(nums\)。 请你从所有满足\(i < j < k\)的下标三元组\((i, j, k)\)中,找出并返回下标三元组的最大值。如果所有满足条件的三元组的值都是负数,则返回\(0\)。 下标三元组\((i, j, k)\)的值等于\((nums[i] - n 阅读全文
posted @ 2023-11-05 11:34 lipu123
摘要:给你一个下标从\(0\)开始、长度为\(n\)的整数数组\(nums\),和一个整数\(k\)。 你可以执行下述递增运算任意次(可以是\(0\)次): 从范围\([0, n - 1]\)中选择一个下标\(i\),并将\(nums[i]\)的值加\(1\)。 如果数组中任何长度大于或等于\(3\)的子 阅读全文
posted @ 2023-11-02 20:03 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)