原创 刷題 - 島嶼數量

問題描述: 給你一個由 '1'(陸地)和 '0'(水)組成的的二維網格,請你計算網格中島嶼的數量。島嶼總是被水包圍,並且每座島嶼只能由水平方向或豎直方向上相鄰的陸地連接形成。此外,你可以假設該網格的四條邊均被水包圍。 對於網格類遍歷問

原创 C++ 對齊原則

(1)概念:      現代計算機系統中,內存都是依照字節進行劃分,理論上講對於任何類型的變量的訪問都可以從任何地址開始,但實際應用中,對特定類型的變量經常在特定內存地址進行訪問,需要各種類型的數據按照一定的規則進行佈置,而不是順序的一個

原创 C++與C的區別及對C的增強

語法層次、高級特性、使用場景、效率 (1)運行機制上: C是面向過程編程語言,C++是面向對象編程語言。     (2)適用方向:      C語言適合程序體積小、運行效率高的場合,如嵌入式等更接近底層的環境; C++適合更上層、更復雜的

原创 刷題-數組中逆序對數目

問題描述: 在數組中的兩個數字,如果前面一個數字大於後面的數字,則這兩個數字組成一個逆序對。輸入一個數組,求出這個數組中的逆序對的總數P。並將P對1000000007取模的結果輸出。 即輸出P%1000000007 輸入:1,2,3,4

原创 刷題-醜數提取及醜數判斷

題目描述: 把只包含質因子2、3和5的數稱作醜數(Ugly Number)。例如6、8都是醜數,但14不是,因爲它包含質因子7。 習慣上我們把1當做是第一個醜數。求按從小到大的順序的第N個醜數。 問題分析: 根據醜數的定義,我們知道醜

原创 刷題-第一次只出現1次的字符

查找第一次只出現1次的字符: 在一個字符串(0<=字符串長度<=10000,全部由字母組成)中找到第一個只出現一次的字符,並返回它的位置, 如果沒有則返回 -1(需要區分大小寫).(從0開始計數) 解題思路: 直觀的考慮就是將字符串中

原创 刷題 - 約瑟夫問題 -模擬過程及簡單求解

約瑟夫問題 約瑟夫問題表述如下:假定有N個人圍成一個環,並對每個人進行順序編號,我們設定一個數字M,M<=N,從第一個人開始報數,報到M後這個人出列,剩下的人繼續從1開始報數,報到M出列,依次進行下去,直到所有的人都出列。 模擬約瑟夫

原创 刷題-尋找兩個鏈表第一個交點

問題描述: 輸入兩個鏈表,找出它們的第一個公共結點。 本題的思路很簡單,首先我們考慮一種特殊的相交鏈表,如下圖所示: