原创 20153716-3

排序專題總結: 排序有多種算法,根本是時間複雜度不同,本專題主要運用sort()函數,是快速排序,時間複雜度爲O(nlogn)。開始比較習慣用雙重for循環,簡單,但容易超時,後來自己慢慢改。

原创 爬樓梯

問題描述 假設你正在爬樓梯,需要n步你才能到達頂部。但每次你只能爬一步或者兩步,你能有多少種不同的方法爬到樓頂。 樣例 比如n=3,1+1+1=1+2=2+1=3,共有3種不同的方法 返回 3 解題思路 狀態轉移方程a[i]=

原创 數字三角形

問題描述 給定一個數字三角形,找到從頂部到底部的最小路徑和。每一步可以移動到下面一行的相鄰數字上。 樣例 比如,給出下列數字三角形: [ [2], [3,4], [6,5,7], [4,1,8,3] ] 從

原创 不同的路徑

問題描述: 有一個機器人的位於一個 m × n 個網格左上角。 機器人每一時刻只能向下或者向右移動一步。機器人試圖達到網格的右下角。 問有多少條不同的路徑?  注意事項 n和m均不超過100 樣例 給出 m = 3 和

原创 最長上升連續子序列

問題描述: 給定一個整數數組(下標從 0 到 n-1, n 表示整個數組的規模),請找出該數組中的最長上升連續子序列。(最長上升連續子序列可以定義爲從右到左或從左到右的序列。) 樣例 給定 [5, 4, 2, 1, 3], 其最長上升連

原创 遞歸總結

        遞歸的題目大部分已經做過,這次只有一個平面列表。 這部分主要考慮出口和原問題與子問題的聯繫。

原创 動態規劃總結

這部分題目開始時感覺比較難,找不到狀態轉移方程,而且出亂碼的情況很多,後來慢慢找到感覺就好多了。

原创 柵欄染色

問題描述: 我們有一個柵欄,它有n個柱子,現在要給柱子染色,有k種顏色可以染。 必須保證不存在超過2個相鄰的柱子顏色相同,求有多少種染色方案。  注意事項 n和k都是非負整數 樣例 n = 3, k = 2, retur

原创 最小路徑和

問題描述: 給定一個只含非負整數的m*n網格,找到一條從左上角到右下角的可以使數字和最小的路徑。  注意事項 你在同一時間只能向下或者向右移動一步 解題思路: 狀態轉移方程 a[i][j]= a[i][j]+max{}a[i

原创 落單的數

問題描述: 給出2*n + 1 個的數字,除其中一個數字之外其他每個數字均出現兩次,找到這個數字。 樣例 給出 [1,2,2,1,3,4,3],返回 4 解題思路: 對給定集合內元素先進行排序,相鄰兩個數爲一組,進行比較,若不同,

原创 不同的路徑 II

問題描述: "不同的路徑" 的跟進問題: 現在考慮網格中有障礙物,那樣將會有多少條不同的路徑? 網格中的障礙和空位置分別用 1 和 0 來表示。  注意事項 m 和 n 均不超過100 樣例 如下所示在3x3的網格中有

原创 主元素

問題描述: 給定一個整型數組,找出主元素,它在數組中的出現次數嚴格大於數組元素個數的二分之一。 注意事項 You may assume that the array is non-empty and the majority num

原创 回溯總結

回溯法是一種搜索技術,與深度優先遍歷原理相同,生成的解空間樹爲子集樹和排列樹,能夠解決所有問題。 回溯的題目只做了一個,知道大體的思路但感覺不會寫。

原创 貪心算法總結

貪心算法的容易部分比較好寫代碼,並不複雜,我覺得還是要注意最大子數組和最小子數組的寫法。

原创 最大子數組

問題描述: 給定一個整數數組,找到一個具有最大和的子數組,返回其最大和。 注意事項 子數組最少包含一個數 樣例 給出數組[−2,2,−3,4,−1,2,1,−5,3],符合要求的子數組爲[4,−1,2,1],其最大和爲6 解題思