原文:[java实现]找一个数组的最大和的连续子数组(时间复杂度 O(n))

收藏一下,请直接点击原帖地址:http: blog.csdn.net hpf article details 这是 剑指Offer 中的一道题目,数组中的元素可能是正负,所以连续的子组求和,会变大也可能变小,解题时首先要求当前的和 初始值为 和下一个元素求和后,如果是负的,那么重新置 和下下个继续求和,首先要找到使和增加的正的元素。然后有了当前最大的和后,纪录下来 继续累加求和,若新增的元素使和 ...

2016-04-23 23:15 0 2571 推荐指数:

查看详情

输入一个整型数组,数据元素有正数也有负数,求元素组合成连续数组之和最大数组,要求时间复杂度O(n)。

  如果不考虑时间复杂度,我们可以枚举出所有数组并求出他们的和。不过非常遗憾的是,由于长度为n数组O(n2)个子数组(即:n + n-1 + ... + 1=n(n+1)/2);而且求一个长度为n数组的和的时间复杂度O(n)。因此这种思路的时间O(n3)。   上边这句话不是原创 ...

Tue Mar 24 06:28:00 CST 2015 2 3555
Leetcode练习(Python):数组类:第53题:给定一个整数数组 nums ,找到一个具有最大和连续数组数组最少包含一个元素),返回其最大和。进阶: 如果你已经实现复杂度O(n) 的解法,尝试使用更为精妙的分治法求解。

题目: 给定一个整数数组 nums ,找到一个具有最大和连续数组数组最少包含一个元素),返回其最大和。进阶: 如果你已经实现复杂度O(n) 的解法,尝试使用更为精妙的分治法求解。 思路:贪心法和分而治之 程序1:贪心发 class Solution ...

Mon Apr 20 18:49:00 CST 2020 0 1477
给定一个长度为N数组,找出出现次数大于n/2,n/3的数,要求时间复杂度On),空间复杂度O(1)

  先讨论出现次数大于n/2的数字,如果这样的数字存在,那么这个数出现的次数大于其他数出现的次数的总和。 在数组A中,我们定义两个数据集合a1,a2。a1为出现次数大于n/2的数的集合,a2为其余数组成的集合。对于数组 A中元素a、b,假设a不等于b,那么有两种情况,分别为:a属于a1,b属于 ...

Fri Nov 01 04:59:00 CST 2019 0 300
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM