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

如果不考慮時間復雜度,我們可以枚舉出所有子數組並求出他們的和。不過非常遺憾的是,由於長度為n的數組有O n 個子數組 即:n n ... n n 而且求一個長度為n的數組的和的時間復雜度為O n 。因此這種思路的時間是O n 。 上邊這句話不是原創。 我承認腦子比較笨,只把仨for嵌套的做出來了,時間復雜度為O n 的,真的想不通,想了好久,好久,直到最后從網上搜到了這道題,才發現原來這道題真的 ...

2015-03-23 22:28 2 3555 推薦指數:

查看詳情

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

收藏一下,請直接點擊原帖地址:http://blog.csdn.net/hpf911/article/details/9275583 這是《劍指Offer》中的一道題目,數組中的元素可能是正負,所以連續組求和,會變大也可能變小,解題時首先要求當前的和(初始值為0)和下一個元素求和后 ...

Sun Apr 24 07:15:00 CST 2016 0 2571
兩個有序數組合並成一個有序數組(要求時間復雜度O(n))

面試題: 怎樣把兩個有序數組合並成有序數組呢 邏輯步驟: 1.假設兩個數組為A和B 2.A和B都是從小到大的順序進行排列 ** 1.我們可以直接比較兩個數組的首元素,哪個小就把這個小元素放入可變數組。 2.把小元素所在的數組中的這個元素刪除。 3.繼續比較兩個數組中的首 ...

Tue Mar 12 19:15:00 CST 2019 0 1891
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM