美文网首页
求数组的最大子数组 动态规划 时间复杂度O(n) 空间复杂度

求数组的最大子数组 动态规划 时间复杂度O(n) 空间复杂度

作者: RedLee666 | 来源:发表于2019-03-24 10:21 被阅读0次
function maxSonArray(array) {
    let sum = -Infinity, all = -Infinity, start, end;
    for (let i = 0; i < array.length; i++) {
        if (sum + array[i] > array[i]) {
            sum += array[i];
        } else {
            sum = array[i];
            array[i] > all ? start = i : undefined;
        }
        if (sum > all) {
            all = sum;
            end = i;
        }
    }
    return { start: start, end: end, all: all };
}

写得不好的地方希望大佬指正

相关文章

  • 打劫房屋

    LeetCode题目思路时间复杂度O(n),空间复杂度O(n) 时间复杂度O(n),空间复杂度O(0),借原有数组...

  • 349. Intersection of Two Arrays

    求两个数组的交集。 两个集合 时间复杂度 O(m + n) 空间复杂度O(m + n) Runtime: 76 m...

  • 2020-02-05 刷题2(数组)

    189 旋转数组 数组整体移位的题目。最简单的就是,用另一个数组来暂时存放,时间复杂度O(n), 空间复杂度O(n...

  • [LinkedList]234. Palindrome Link

    分类:LinkedList 时间复杂度: O(n) 空间复杂度: O(n)数组法/O(1)快慢指针 234. Pa...

  • 反转单链表的方法

    方法1:将单链表储存为数组,然后按照数组的索引逆序进行反转。比较浪费空间时间复杂度:O(N)空间复杂度:O(N) ...

  • 62. Unique Paths

    题目分析 这是一道典型的动态规划题。 代码 时间复杂度 O(m*n),空间复杂度 O(m*n) 时间复杂度 O(m...

  • 206. 反转链表

    解题思路 遍历一遍链表,依次存入数组,倒序装入链表。 代码 复杂度 时间复杂度 O(N) 空间复杂度 O(N)

  • 151. Reverse Words in a String

    字符串里的单词反转 转为数组 时间复杂度O(N),空间复杂度O(N) Runtime: 72 ms, faster...

  • 560. Subarray Sum Equals K

    给定数组,求和为k的连续子数组的数目 暴力解法 时间复杂度 O(n^2),空间复杂度O(1) Runtime: 9...

  • 常见五种排序算法

    一、冒泡排序 最好情况下,数组已经是有序的,时间复杂度 O(n) 最坏和平均时间复杂度 O(n^2) 空间复杂度 ...

网友评论

      本文标题:求数组的最大子数组 动态规划 时间复杂度O(n) 空间复杂度

      本文链接:https://www.haomeiwen.com/subject/lviyvqtx.html