原文:輸入一個正數 n,輸出所有和為 n 連續正數序列。 java實現

用了半小時才寫出來啊, 其實這種思路應用范圍很廣,利用有序性這個特點,比如本體只要是有序就行,例如兩個集合是有序的,求交集,有序數組的查找,有序數組的歸並,有序有了優化的可能。 輸入一個正數 n,輸出所有和為 n 連續正數序列 例如輸入 ,由於 ,所以輸出 個連續序列 和 。 分析:我們用兩個數small和big分別表示序列的最小值和最大值。首先把small初始化為 ,big初始化為 。如果從sm ...

2014-06-26 17:43 0 2973 推薦指數:

查看詳情

輸入一個整型數組,數據元素有正數也有負數,求元素組合成連續子數組之和最大的子數組,要求時間復雜度為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
Java輸出double類型中的最小正數和最大正數

這是《寫給大忙人看的java核心技術》中的一道練習題。 1. 輸出最大正數值 直接輸出包裝類Double的MAX_VALUE。 2. 輸出最小正數值 使用Math.nextUp()方法也能輸出最小的正數 java.lang.Math.nextUp(double ...

Thu Feb 23 18:01:00 CST 2017 0 5780
在從1到n正數中1出現的次數

題目:輸入一個整數n,求從1到nn個整數的十進制表示中1出現的次數。例如輸入12,從1到12這些整數中包含1 的數字有1,10,11和12,1一共出現了5次。分析:這是一道廣為流傳的google面試題。 簡單的方法就是按照給位進行分析 在個位出現1的個數=n/10+(個位=0,0;個位> ...

Mon May 28 23:40:00 CST 2012 0 4195
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM