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;
        }


查看全文
  • 相关阅读:
    socket网络编程
    Oracle 分区表 总结
    修改配置文件后不重启程序即时生效
    vue 计算属性
    Vue属性绑定指令 vbind
    vue虚拟dom
    vueslot插槽
    将博客搬至CSDN
    打造山寨手机中的App Store斯凯MiniJ(mrp)诞生记
    【教程】查看某个程序的占用的端口
  • 原文地址:https://www.cnblogs.com/ldxsuanfa/p/10674845.html
  • Copyright © 2011-2022 走看看