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


  • 相关阅读:
    Android Shell命令dumpsys
    查看Android内存的8中方法
    Viewpager 的相关总结
    FileZilla等软件搭建ftp服务器
    Linux系统下邮件服务器的搭建(Postfix+Dovecot)
    PHP 打乱数组
    PHP 日期 加减 月数,天数,周数,小时,分,秒等等
    PHP 常用函数
    111
    phpStudy启动失败提示:缺少VC9运行库
  • 原文地址:https://www.cnblogs.com/ldxsuanfa/p/10674845.html
  • Copyright © 2020-2023  润新知