zoukankan      html  css  js  c++  java
  • Maximum Subarray

    题目

    Find the contiguous subarray within an array (containing at least one number) which has the largest sum.

    For example, given the array [−2,1,−3,4,−1,2,1,−5,4],
    the contiguous subarray [4,−1,2,1] has the largest sum = 6.

    More practice:

    If you have figured out the O(n) solution, try coding another solution using the divide and conquer approach, which is more subtle.

    方法

    寻找和最大的子数组,时间O(n)。

        public int maxSubArray(int[] A) {
            if (A == null) {
                return 0;
            }
            int len = A.length;
            int max = A[0];
            int cur = 0;
            for (int i = 0; i < len; i++) {
                cur += A[i];
                if (max < cur) {
                    max = cur;
                }
                if (cur < 0) {
                    cur = 0;
                }
            }
            return max;
        }


查看全文
  • 相关阅读:
    报表开发之扩展GROUP BY
    Leetcode--easy系列9
    datatable 前台和后台数据格式
    C实现头插法和尾插法来构建单链表(带头结点)
    HDOJ 题目1520 Anniversary party(树形dp)
    windows环境利用apache 配置虚拟主机
    POJ--1966--Cable TV Network【无向图顶点连通度】
    Linux Shell脚本编程学习笔记和实战
    win10 bcdedit加入vhdx启动
    设计模式之Mediator模式(笔记)
  • 原文地址:https://www.cnblogs.com/ldxsuanfa/p/10674845.html
  • Copyright © 2011-2022 走看看