![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数组
allesistgut
这个作者很懒,什么都没留下…
展开
-
【力扣】(中等)绝对差不超过限制的最长连续子数组 -- 滑动窗口法 multiset
绝对差不超过限制的最长连续子数组给你一个整数数组 nums ,和一个表示限制的整数 limit,请你返回最长连续子数组的长度,该子数组中的任意两个元素之间的绝对差必须小于或者等于 limit 。如果不存在满足条件的子数组,则返回 0 。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/longest-continuous-subarray-with-absolute-diff-less-than-or-equal-to-limit解决方法:c.原创 2021-02-22 13:38:26 · 160 阅读 · 0 评论 -
【力扣】(中等)1423. 可获得的最大点数 -- 滑动窗口法
1423 可获得的最大点数几张卡牌 排成一行,每张卡牌都有一个对应的点数。点数由整数数组 cardPoints 给出。每次行动,你可以从行的开头或者末尾拿一张卡牌,最终你必须正好拿 k 张卡牌。你的点数就是你拿到手中的所有卡牌的点数之和。给你一个整数数组 cardPoints 和整数 k,请你返回可以获得的最大点数。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/maximum-points-you-can-obtain-from-card.原创 2021-02-07 10:44:16 · 111 阅读 · 0 评论 -
【力扣】 矩阵中战斗力最弱的 K行
矩阵中战斗力最弱的 K行给你一个大小为 m * n 的矩阵 mat,矩阵由若干军人和平民组成,分别用 1 和 0 表示。请你返回矩阵中战斗力最弱的 k 行的索引,按从最弱到最强排序。如果第 i 行的军人数量少于第 j 行,或者两行军人数量相同但 i 小于 j,那么我们认为第 i 行的战斗力比第 j 行弱。军人 总是 排在一行中的靠前位置,也就是说 1 总是出现在 0 之前。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/the-k-weak.原创 2020-12-29 11:17:33 · 147 阅读 · 0 评论 -
【力扣】(困难)330. 按要求补齐数组 ----- 贪心算法
330 按要求补齐数组给定一个已排序的正整数数组 nums,和一个正整数 n 。从 [1, n] 区间内选取任意个数字补充到 nums 中,使得 [1, n] 区间内的任何数字都可以用 nums 中某几个数字的和来表示。请输出满足上述要求的最少需要补充的数字个数。示例 1:` ``输入: nums = [1,3], n = 6输出: 1解释:根据 nums 里现有的组合 [1], [3], [1,3],可以得出 1, 3, 4。现在如果我们将 2 添加到 nums 中, 组合变为: [1],.原创 2020-12-29 10:48:24 · 141 阅读 · 0 评论 -
【力扣】(中等)1314. 矩阵区域和 ---- 动态规划
1314 矩阵区域和给你一个 m * n 的矩阵 mat 和一个整数 K ,请你返回一个矩阵 answer ,其中每个answer[i][j]是所有满足下述条件的元素 mat[r][c] 的和:i - K <= r <= i + K, j - K <= c <= j + K(r, c) 在矩阵内。示例 1:输入:mat = [[1,2,3],[4,5,6],[7,8,9]], K = 1输出:[[12,21,16],[27,45,33],[24,39,28]]来源:.原创 2020-12-21 16:34:24 · 181 阅读 · 0 评论 -
【剑指 Offer 随笔】57. 和为s的两个数字 -- 双指针
57 和为s的两个数字来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/he-wei-sde-liang-ge-shu-zi-lcof输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s。如果有多对数字的和等于s,则输出任意一对即可。示例 1:输入:nums = [2,7,11,15], target = 9输出:[2,7] 或者 [7,2]示例 2:输入:nums = [10,26,30,31,47,60], .原创 2020-11-03 16:42:16 · 74 阅读 · 0 评论 -
【剑指 Offer 随笔】40 ***最小的k个数 -- ***快排思想or大根堆or排序
40 最小的k个数来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/zui-xiao-de-kge-shu-lcof输入整数数组 arr ,找出其中最小的 k 个数。例如,输入4、5、1、6、2、7、3、8这8个数字,则最小的4个数字是1、2、3、4。示例 1:输入:arr = [3,2,1], k = 2输出:[1,2] 或者 [2,1]示例 2:输入:arr = [0,1,2,1], k = 1输出:[0]解题思路:【c++.原创 2020-10-20 11:14:08 · 71 阅读 · 0 评论 -
【力扣】(中等)300. 最长递增子序列 ----- 动态规划
300 最长递增子序列给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/longest-increasing-subsequence解题思路:动态规划,dp[i]代表以i个数字结尾的最长子序列长度,通过与其之前位j 的数字大.原创 2020-12-15 11:45:26 · 104 阅读 · 0 评论 -
TO DO【力扣】(困难)164. 最大间距 --- 基数排序
164 最大间距来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/maximum-gap给定一个无序的数组,找出数组在排序之后,相邻元素之间最大的差值。如果数组元素个数小于 2,则返回 0。示例 1:输入: [3,6,9,1]输出: 3解释: 排序后的数组是 [1,3,6,9], 其中相邻元素 (3,6) 和 (6,9) 之间都存在最大差值 3。解题思路:排序后找最大差值。其中基数排序,为什么需要逆序遍历???TO DO:官方还.原创 2020-11-26 10:00:01 · 276 阅读 · 1 评论 -
【力扣】(中等)452. 用最少数量的箭引爆气球 ---- 排序 + 贪心算法
452 用最少数量的箭引爆气球来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/minimum-number-of-arrows-to-burst-balloons在二维空间中有许多球形的气球。对于每个气球,提供的输入是水平方向上,气球直径的开始和结束坐标。由于它是水平的,所以纵坐标并不重要,因此只要知道开始和结束的横坐标就足够了。开始坐标总是小于结束坐标。一支弓箭可以沿着 x 轴从不同点完全垂直地射出。在坐标 x 处射出一支箭,若有一个气球的直.原创 2020-11-23 10:19:21 · 185 阅读 · 1 评论 -
【力扣】283. 移动零 ---- 双指针
283 移动零 ---- 双指针来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/how-many-numbers-are-smaller-than-the-current-number给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。换而言之,对于每个 nums[i] 你必须计算出有效的 j 的数量,其中 j 满足 j != i 且 nums[j] < nums[i] 。示例 2:输入:nu.原创 2020-11-19 11:36:36 · 207 阅读 · 0 评论 -
【剑指 Offer 随笔】42 连续子数组的最大和 -- 动态规划
42 连续子数组的最大和-来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/lian-xu-zi-shu-zu-de-zui-da-he-lcof输入一个整型数组,数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为O(n)。示例1:输入: nums = [-2,1,-3,4,-1,2,1,-5,4]输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。解题思路:【c++】动态规划法.原创 2020-10-25 01:14:08 · 159 阅读 · 0 评论 -
【剑指 Offer 随笔】39 数组中出现次数超过一半的数字 -- 排序or投票法
39 数组中出现次数超过一半的数字来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/shu-zu-zhong-chu-xian-ci-shu-chao-guo-yi-ban-de-shu-zi-lcof数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。你可以假设数组是非空的,并且给定的数组总是存在多数元素。示例 1:输入: [1, 2, 3, 2, 2, 2, 5, 4, 2]输出: 2解题思路:【c++】(1)排序:将数.原创 2020-10-24 23:57:10 · 132 阅读 · 0 评论 -
【剑指 Offer 随笔】11 旋转数组的最小数字 -- 二分法
11 旋转数组的最小数字来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/xuan-zhuan-shu-zu-de-zui-xiao-shu-zi-lcof/把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如,数组[3,4,5,1,2]为[1,2,3,4,5]的一个旋转,该数组最小值为1。示例1:输入:[2,2,2,0,1]输出:0解题思路:(1)二分法:搜索.原创 2020-10-10 11:30:02 · 91 阅读 · 0 评论 -
【剑指 Offer 随笔】03 找出数组中重复的数字
03 找出数组中重复的数字来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/shu-zu-zhong-zhong-fu-de-shu-zi-lcof在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例1:输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3【C++】思路:初始化一个和所给nu.原创 2020-09-28 15:40:46 · 147 阅读 · 0 评论 -
【剑指 Offer 随笔】04 二维数组中的查找
04 找出数组中重复的数字来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/er-wei-shu-zu-zhong-de-cha-zhao-lcof在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。示例:现有矩阵 matrix 如下:[[1, 4, 7, 11, 15],[2, 5, 8, 1.原创 2020-10-09 09:58:30 · 80 阅读 · 0 评论