原创 498.Diagonal Traverse-M

題目內容 給定一個M*N大小的矩陣(M行,N列),要求返還一個以下圖所示方法得到的一個一維數組 這道題從題意來看,很簡潔,要求按照對角線以S型遍歷整個數組,從而得到一個特定順序的一維數組,如果是人來完成這個任務,恐怕五六歲的小朋

原创 3. Longest Substring Without Repeating Characters(M)

題目描述 給定一個字符串,求出最長的沒有重複字符的子串的長度。原題以及例子如下, 題目分析 題意簡單直接,而且很容易就能想到一種O(n^2)的方法,就是兩層for循環,一旦出現重複的字符,就從上一個重複字符的下一個字符開始,比如,“a

原创 712. Minimum ASCII Delete Sum for Two Strings

712. Minimum ASCII Delete Sum for Two Strings 題目簡述 給定兩個任意字符串s1,s2。通過刪除字母操作,使得兩個字符串相等。求被刪除字符的最小ASCII碼之和。原題以及例子如下, 解析 在

原创 15. 3Sum(M)

題目描述 給定一個長度爲n的數組,找出3個數a,b,c,使之滿足a+b+c=0這個等式。找出滿足這個條件的所有不重複集合。原題以及例子如下, 題目分析 PS:答案的集合不要求是有序的。 如果是暴力破解的話,那麼這道題的時間複雜度爲O(

原创 123.Best Time to Buy and Sell Stock III(H)

題目描述 給定一個數組prices,數組中的每個元素分別代表第i天股票的價格。現在你能進行最多兩次交易,求你能取得的最大利益。 備註:同時只能持有一支股票。 原題如下, 算法描述 這道題如果要窮舉出所有的情況,肯定是不現實的。我們

原创 684.Redundant Connection(M)

題目描述 前言:在這個問題中,樹的定義是無向且無環的。 現在給你一個圖,在這個圖中存在一條多餘的邊,去掉那一條邊後,這個圖邊符合樹的定義,現在我們要做的就是找出那一條多餘的邊。如果有多條邊符合條件,那麼則返還最後出現的那條邊。原題以及例

原创 98. Validate Binary Search Tree(M)

題目描述 給定一顆二叉樹,判斷它是否爲搜索二叉樹。 搜索二叉樹的定義如下: 左子樹所有的值都小於當前節點 右子樹所有的值都大於當前節點 左子樹和右子樹都爲搜索二叉樹 原題以及例子如下, 題目分析 根據搜索二叉樹的定義我們可以發現

原创 174. Dungeon Game(H)

題目描述 一個惡魔抓住了公主,並且把她囚禁在地牢的右下角。這個地牢是個M*N的矩陣。 騎士被囚禁在地牢的左上角,騎士必須穿過重重關卡拯救公主。 騎士有初始生命值由一個正數表示。如果他的生命值降爲0及其以下,則騎士死亡。在地牢裏的一些房間

原创 494. Target Sum(M)

494. Target Sum(M) 題目描述 給定一個數組和一個目標值,通過給數組裏的數加上正負號,使得他們的和爲目標值,求解總共有多少種加正負號的方法,下面是原題幹以及一個例子: 題意很簡明,但剛開始我拿到有點懵,因爲這道題是在深度

原创 209.Minimum Size Subarray Sum(M)

題目描述 給定一個大小爲n的正整數數組和一個正整數s,要求找到一個最小的連續子數組之和大於等於s,求這個最小長度,如果不存在則返還0,原題以及例子如下, 上面這只是題目的基礎要求,不考慮時間複雜度的情況下是比較容易解決的,但是這道題

原创 8.8 證明EXACT 4SAT問題是NPC問題

題目描述 在EXACT 4SAT 問題中,指定輸入爲一組語句,每個語句恰好都是4個表達式的析取表示,並且每個變量最多在一個語句中出現一次。目標是找到一個合適的賦值,如果該賦值存在,那麼可以證明EXACT 4SAT 問題是NPC問題。 證明

原创 714. Best Time to Buy and Sell Stock with Transaction Fee(M)

題目描述 給定一個整數數組 prices 表示股票的價格,第 i 個元素表示第 i 天的股票價格,同時給定 fee 表示進行一次股票交易需要承擔的費用。 允許進行多次股票交易,但每次交易都需要承擔 fee 的費用。並且你在某一時刻只允許

原创 646. Maximum Length of Pair Chain(M)

題目描述 給定n對數,在每對數了,第一個數總是小於第二個數。現在我們定義,數對(c,d)能與數對(a,b)組成一條鏈且在(a,b)之後,當且僅當c>b時。給定一個數對的集合,求出這個集合中的最長數對鏈。不用使用完所有的數對,並且可以以任意

原创 42. Trapping Rain Water(H)

題目描述 給定n個非負整數代表一個海拔的地圖,每個方塊的寬度爲1,計算在雨後,它能積攢的雨水的體積,原題如下, 這道題看起來挺簡單的,但是一定要注意,這種題難度是Hard,肯定是不簡單的,一定要考慮清楚,自己的算法能否解決所有的情況

原创 516. Longest Palindromic Subsequence(M)

題目描述 給定一個字符串s,求其中最長迴文子序列的長度,你可以認爲s的最長長度不超過1000。原題以及例子如下, 首先來簡單分析一下這道題,題目描述很簡單,這裏需要理解兩個詞,子序列和迴文。從例子中可以看出子序列是指按照字符串順序但