算法--数组
Conqueror_
这个作者很懒,什么都没留下…
展开
-
算法(数组)----三数之和
三数之和给定一个包含 n 个整数的数组nums,判断nums中是否存在三个元素 a,b,c ,使得a + b + c = 0 ?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], [-1, -1, 2]]排序+...转载 2019-12-16 10:53:55 · 452 阅读 · 0 评论 -
算法(数组)----环形子数组的最大和
环形子数组的最大和给定一个由整数数组 A 表示的环形数组 C,求 C 的非空子数组的最大可能和。在此处,环形数组意味着数组的末端将会与开头相连呈环状。(形式上,当0 <= i < A.length 时 C[i] = A[i],而当 i >= 0 时 C[i+A.length] = C[i])此外,子数组最多只能包含固定缓冲区 A 中的每个元素一次。(形式上,对于子数组 ...原创 2019-12-13 19:21:32 · 1158 阅读 · 0 评论 -
算法(数组)----最小子数组和
最小子数组和给定一个整数数组 A,找到 min(B) 的总和,其中 B 的范围为 A 的每个(连续)子数组。由于答案可能很大,因此返回答案模 10^9 + 7。示例:输入:[3,1,2,4]输出:17解释:子数组为 [3],[1],[2],[4],[3,1],[1,2],[2,4],[3,1,2],[1,2,4],[3,1,2,4]。最小值为 3,1,2,4,1,1,2,1,1,...原创 2019-12-13 19:04:55 · 839 阅读 · 1 评论 -
算法(数组)——最大子数组和
最大子数组和给定一个整数数组nums,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释:连续子数组[4,-1,2,1] 的和最大,为6。动态规划解法思路:1.状态方程:dp[i]=Max(dp[i-1]+A[i],A[i])2.我们从头开始遍历数组,遍历到...原创 2019-12-12 14:03:15 · 877 阅读 · 0 评论 -
算法(数组)-----和为k的子数组
和为k的子数组题目描述:给定一个整数数组和一个整数k,你需要找到该数组中和为k的连续的子数组的个数。解法1:暴力法,时间复杂度为O(n^2)双循环,求出所有子数组的和,记录等于k的次数解法2:哈希表,时间复杂度O(n)首先思考暴力法的计算过程,我们会发现暴力法中存在很多重复计算的过程。例如我们计算数组nums[0]+nums[1]+nums[2]时,nums[1]...原创 2019-12-12 11:00:52 · 1498 阅读 · 0 评论