原文:[java實現]找一個數組的最大和的連續子數組(時間復雜度 O(n))

收藏一下,請直接點擊原帖地址:http: blog.csdn.net hpf article details 這是 劍指Offer 中的一道題目,數組中的元素可能是正負,所以連續的子組求和,會變大也可能變小,解題時首先要求當前的和 初始值為 和下一個元素求和后,如果是負的,那么重新置 和下下個繼續求和,首先要找到使和增加的正的元素。然后有了當前最大的和后,紀錄下來 繼續累加求和,若新增的元素使和 ...

2016-04-23 23:15 0 2571 推薦指數:

查看詳情

輸入一個整型數組,數據元素有正數也有負數,求元素組合成連續數組之和最大數組,要求時間復雜度O(n)。

  如果不考慮時間復雜度,我們可以枚舉出所有數組並求出他們的和。不過非常遺憾的是,由於長度為n數組O(n2)個子數組(即:n + n-1 + ... + 1=n(n+1)/2);而且求一個長度為n數組的和的時間復雜度O(n)。因此這種思路的時間O(n3)。   上邊這句話不是原創 ...

Tue Mar 24 06:28:00 CST 2015 2 3555
Leetcode練習(Python):數組類:第53題:給定一個整數數組 nums ,找到一個具有最大和連續數組數組最少包含一個元素),返回其最大和。進階: 如果你已經實現復雜度O(n) 的解法,嘗試使用更為精妙的分治法求解。

題目: 給定一個整數數組 nums ,找到一個具有最大和連續數組數組最少包含一個元素),返回其最大和。進階: 如果你已經實現復雜度O(n) 的解法,嘗試使用更為精妙的分治法求解。 思路:貪心法和分而治之 程序1:貪心發 class Solution ...

Mon Apr 20 18:49:00 CST 2020 0 1477
給定一個長度為N數組,找出出現次數大於n/2,n/3的數,要求時間復雜度On),空間復雜度O(1)

  先討論出現次數大於n/2的數字,如果這樣的數字存在,那么這個數出現的次數大於其他數出現的次數的總和。 在數組A中,我們定義兩個數據集合a1,a2。a1為出現次數大於n/2的數的集合,a2為其余數組成的集合。對於數組 A中元素a、b,假設a不等於b,那么有兩種情況,分別為:a屬於a1,b屬於 ...

Fri Nov 01 04:59:00 CST 2019 0 300
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM