输入一个整形数组(可能有正数和负数),求数组中连续子数组(最少有一个元素)的最大和。要求时间复杂度为O(n)。 输入描述: 输出描述: 输入例子1: 输出例子1: 思路:对输入的数组进行计算, import ...
如果不考虑时间复杂度,我们可以枚举出所有子数组并求出他们的和。不过非常遗憾的是,由于长度为n的数组有O n 个子数组 即:n n ... n n 而且求一个长度为n的数组的和的时间复杂度为O n 。因此这种思路的时间是O n 。 上边这句话不是原创。 我承认脑子比较笨,只把仨for嵌套的做出来了,时间复杂度为O n 的,真的想不通,想了好久,好久,直到最后从网上搜到了这道题,才发现原来这道题真的 ...
2015-03-23 22:28 2 3555 推荐指数:
输入一个整形数组(可能有正数和负数),求数组中连续子数组(最少有一个元素)的最大和。要求时间复杂度为O(n)。 输入描述: 输出描述: 输入例子1: 输出例子1: 思路:对输入的数组进行计算, import ...
题目: 输入一个整型数组,数组里有正数,也有负数。 数组中一个或连续的多个整数组成一个子数组。 求所有子数组的和的最大值。要求时间复杂度为 O(n)。 解答: ...
收藏一下,请直接点击原帖地址:http://blog.csdn.net/hpf911/article/details/9275583 这是《剑指Offer》中的一道题目,数组中的元素可能是正负,所以连续的子组求和,会变大也可能变小,解题时首先要求当前的和(初始值为0)和下一个元素求和后 ...
面试题: 怎样把两个有序数组合并成有序数组呢 逻辑步骤: 1.假设两个数组为A和B 2.A和B都是从小到大的顺序进行排列 ** 1.我们可以直接比较两个数组的首元素,哪个小就把这个小元素放入可变数组。 2.把小元素所在的数组中的这个元素删除。 3.继续比较两个数组中的首 ...
题目: 给定一个未排序的整数数组,找出最长连续序列的长度。 要求算法的时间复杂度为 O(n)。 思路: 要求的时间复杂度为O(n),则只允许一次循环。 程序: class Solution: def longestConsecutive ...