原创 每天學習一算法系列(26)(輸入一個整數,求該整數的二進制表達中有多少個1)

題目: 輸入一個整數,求該整數的二進制表達中有多少個1。 例如輸入10,由於其二進制表示爲1010,有兩個1,因此輸出2。   思路一:這是一道很基本的考查位運算的面試題。一個很基本的想法是,我們先判斷整數的最右邊一位是不是1,接着把整數

原创 每天學習一算法系列(31)(實現一個隊列,隊列的應用場景爲:一個生產者線程將int 類型的數入列,一個消費者線程將int 類型的數出列)

題目: 實現一個隊列。 隊列的應用場景爲:一個生產者線程將int 類型的數入列,一個消費者線程將int 類型的數出列。   思路一: 這就是操作系統中介紹的PV操作,隊列的一個典型的應用模式。實現這個PV操作的過程中要注意兩個線程之間的通

原创 每天學習一算法系列(21)(輸入兩個整數n 和m,從數列1,..n 中隨意取幾個數使和等於m)

  題目: 編程求解: 輸入兩個整數n 和m,從數列1,2,3.......n 中隨意取幾個數,使其和等於m ,要求將其中所有的可能組合列出來.  

原创 每天學習一算法系列(32)(求一個矩陣中最大的二維矩陣(元素和最大))

 題目: 求一個矩陣中最大的二維矩陣(元素和最大).如: 1 2 0 3 4 2 3 4 5 1 1 1 5 3 0 中最大的二維矩陣是: 4 5 5 3 要求:(1)寫出算法;(2)分析時間複雜度;(3)用C 寫出關鍵代碼.   思路

原创 ubuntu使用超級管理員root登錄

 Ubuntu有一個與衆不同的特點,那就是初次使用時,你無法作爲root來登錄系統,爲什麼會這樣?這就要從系統的安裝說起。對於其他Linux系統來 說,一般在安裝過程就設定root密碼,這樣用戶就能用它登錄root帳戶或使用su命令轉換到

原创 每天學習一算法系列(35)(遞歸和非遞歸倆種方法實現二叉樹的前序遍歷)

題目: 遞歸和非遞歸倆種方法實現二叉樹的前序遍歷。   思路一: 對二叉樹的遞歸遍歷我相信大家只要學了數據結構後應當都很容易就能寫出,這裏主要是討論二叉樹的非遞歸寫法。按照二叉樹前序遍歷的定義,無論是訪問整棵樹還是其子樹,均應該遵循先訪問

原创 每天學習一算法系列(30)(給一個很長的字符串str 還有一個字符集比如{a,b,c} 找出str 裏包含{a,b,c}的最短子串。要求O(n).)

題目: 給一個很長的字符串str 還有一個字符集比如{a,b,c} 找出str 裏包含{a,b,c}的最短子串。要求O(n). 比如,字符集是a,b,c,字符串是abdcaabcx,則最短子串爲abc。   思路一: 用兩個變量Front

原创 WIN7下Virtualbox虛擬Ubuntu共享文件夾設置

  找了好久找到一個比較完善的共享文件夾的方法 希望對大家有用 我ubuntu是新氧的ubuntu 9.04,oracle vitualbox 1.

原创 每天學習一算法系列(27)(輸入兩個整數序列。其中一個序列表示棧的push 順序,判斷另一個序列有沒有可能是對應的pop 順序)

題目: 輸入兩個整數序列。其中一個序列表示棧的push 順序,判斷另一個序列有沒有可能是對應的pop 順序。 爲了簡單起見,我們假設push 序列的任意兩個整數都是不相等的。 比如輸入的push 序列是1、2、3、4、5,那麼4、5、3、

原创 軟盤與FAT12文件系統的組織格式

  根據《Orange's》第4章理解。   軟盤的文件組織格式爲FAT12,組織單位由大到小分爲分區、簇(一個或多個扇區)和扇區(磁盤上的最小數據

原创 每天學習一算法系列(22)(在字符串中找出連續最長的數字串,並把這個串的長度返回)

題目: 寫一個函數,它的原形是int continumax(char *outputstr,char *intputstr) 功能: 在字符串中找出連續最長的數字串,並把這個串的長度返回,並把這個最長數字串付給其中一個函數參數output

原创 每天學習一算法系列(23)(寫一個程序,要求功能,求出用1、2、5這三個數不同個數組合的和爲100的組合數)

題目: 寫一個程序,要求功能,求出用1、2、5這三個數不同個數組合的和爲100的組合數。 如100個1是一個組合,20個5是另外一個組合。   思路一: 看到這樣的問題我們首先會想到最簡單窮舉法,三層循環就可以解決了。   代碼如下: /

原创 每天學習一算法系列(29)(有兩個序列a,b,大小都爲n,序列元素的值任意整數,無序;要求:通過交換a,b 中的元素,使[序列a 元素的和]與[序列b 元素的和]之間的差最小)

題目: 有兩個序列a,b,大小都爲n,序列元素的值任意整數,無序;要求:通過交換a,b 中的元素,使[序列a 元素的和]與[序列b 元素的和]之間的差最小。 例如: var a = [100,99,98,1,2, 3]; var b =

原创 每天學習一算法系列(24)(實現字符串左旋轉的函數)

題目:定義字符串的左旋轉操作:把字符串前面的若干個字符移動到字符串的尾部。如把字符串abcdef 左旋轉2 位得到字符串cdefab。 請實現字符串左旋轉的函數,要求時間對長度爲n 的字符串操作的複雜度爲O(n),輔助內存爲O(1)。

原创 VC IDE遠程調試

  序:通常在軟件開發的過程中一個比較重要的階段就是--測試,測試階段中很可能會涉及到有這樣的bug,在WIN7下不出現,在XP下出現…,對於作爲一