用了半小時才寫出來啊, 其實這種思路應用范圍很廣,利用有序性這個特點,比如本體只要是有序就行,例如兩個集合是有序的,求交集,有序數組的查找,有序數組的歸並,有序有了優化的可能。 輸入一個正數 n,輸出所有和為 n 連續正數序列 例如輸入 ,由於 ,所以輸出 個連續序列 和 。 分析:我們用兩個數small和big分別表示序列的最小值和最大值。首先把small初始化為 ,big初始化為 。如果從sm ...
2014-06-26 17:43 0 2973 推薦指數:
如果不考慮時間復雜度,我們可以枚舉出所有子數組並求出他們的和。不過非常遺憾的是,由於長度為n的數組有O(n2)個子數組(即:n + n-1 + ... + 1=n(n+1)/2);而且求一個長度為n的數組的和的時間復雜度為O(n)。因此這種思路的時間是O(n3)。 上邊這句話不是原創 ...
輸入一個整形數組(可能有正數和負數),求數組中連續子數組(最少有一個元素)的最大和。要求時間復雜度為O(n)。 輸入描述: 輸出描述: 輸入例子1: 輸出例子1: 思路:對輸入的數組進行計算, import ...
這是《寫給大忙人看的java核心技術》中的一道練習題。 1. 輸出最大正數值 直接輸出包裝類Double的MAX_VALUE。 2. 輸出最小正數值 使用Math.nextUp()方法也能輸出最小的正數 java.lang.Math.nextUp(double ...
題目:輸入一個整數n,求從1到n這n個整數的十進制表示中1出現的次數。例如輸入12,從1到12這些整數中包含1 的數字有1,10,11和12,1一共出現了5次。分析:這是一道廣為流傳的google面試題。 簡單的方法就是按照給位進行分析 在個位出現1的個數=n/10+(個位=0,0;個位> ...
代碼: ...