LeetCode 力扣算法题解汇总,All in One
生活随笔
收集整理的這篇文章主要介紹了
LeetCode 力扣算法题解汇总,All in One
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
作者: 負雪明燭
id: fuxuemingzhu
個人博客: https://fuxuemingzhu.cn
關鍵詞:LeetCode,力扣,算法,題解,匯總,解析
把自己刷過的所有題目做一個整理,并且用簡潔的語言概括了一下思路,匯總成了一個表格。
題目的排列順序是按照先Easy再Medium再Hard排列的,暫時還沒有把題目全部整理完成。后序我會把刷過的所有的題目都整理到這個文檔里。
如果想看我全部的力扣算法題解,可以看我的題解博客:fuxuemingzhu.cn
| 566. Reshape the Matrix | Easy | 變長數組,求余法,維護行列計算在新的數組中的位置 | https://blog.csdn.net/fuxuemingzhu/article/details/83626519 |
| 567. Increasing Order Search Tree | Easy | 直接中序遍歷的結果放到鏈表結尾 | https://blog.csdn.net/fuxuemingzhu/article/details/82349263 |
| 568. Jewels and Stones | Easy | 字典統計次數 | https://blog.csdn.net/fuxuemingzhu/article/details/79188903 |
| 569. Unique Email Addresses | Easy | 字符串+set統計個數 | https://blog.csdn.net/fuxuemingzhu/article/details/83478570 |
| 570. To Lower Case | Easy | ASIIC碼操作ord,chr | https://blog.csdn.net/fuxuemingzhu/article/details/81015228 |
| 571. Unique Morse Code Words | Easy | 字典映射 + set統計個數 | https://blog.csdn.net/fuxuemingzhu/article/details/79774003 |
| 572. Sort Array By Parity | Easy | 自定義sorted函數的cmp為數字mod 2 | https://blog.csdn.net/fuxuemingzhu/article/details/82732066 |
| 573. Hamming Distance | Easy | 先異或 再數1的個數 | https://blog.csdn.net/fuxuemingzhu/article/details/54138423 |
| 574. Robot Return to Origin | Easy | Counter統計,判斷是否相等 | https://blog.csdn.net/fuxuemingzhu/article/details/83663650 |
| 575. Flipping an Image | Easy | 直接計算新的數組的每個位置的值即可 | https://blog.csdn.net/fuxuemingzhu/article/details/80471495 |
| 576. Merge Two Binary Trees | Easy | 樹的遞歸操作 | https://blog.csdn.net/fuxuemingzhu/article/details/79052953 |
| 577. Implement strStr() | Easy | 字符串遍歷+切片是否相等的判斷 | https://blog.csdn.net/fuxuemingzhu/article/details/79254558 |
| 578. Find and Replace Pattern | Easy | 直接使用字典做映射 | https://blog.csdn.net/fuxuemingzhu/article/details/82014687 |
| 579. Binary Tree Pruning | Medium | 二叉樹的后序遍歷 | https://blog.csdn.net/fuxuemingzhu/article/details/79858752 |
| 580. Array Partition I | Easy | 排序+求和 | https://blog.csdn.net/fuxuemingzhu/article/details/71412574 |
| 581. Self Dividing Numbers | Easy | 直接遍歷區間的每個數字進行判斷 | https://blog.csdn.net/fuxuemingzhu/article/details/79053113 |
| 582. Peak Index in a Mountain Array | Easy | 二分查找的變種,使用Mid位置和左右位置比較 | https://blog.csdn.net/fuxuemingzhu/article/details/80721162 |
| 583. Sort Array By Parity II | Easy | 分別求出奇偶數組然后拼接 | https://blog.csdn.net/fuxuemingzhu/article/details/83045735 |
| 584. Projection Area of 3D Shapes | Easy | 分別計算三視圖的面積即可 | https://blog.csdn.net/fuxuemingzhu/article/details/81748335 |
| 585. Smallest Range I | Easy | 直接數學計算 | https://blog.csdn.net/fuxuemingzhu/article/details/82824685 |
| 586. Transpose Matrix | Easy | 先構建數組再遍歷實現翻轉 | https://blog.csdn.net/fuxuemingzhu/article/details/81015450 |
| 587. N-ary Tree Preorder Traversal | Easy | 多叉樹的先序遍歷,可以用遞歸和迭代 | https://blog.csdn.net/fuxuemingzhu/article/details/81021950 |
| 588. N-ary Tree Postorder Traversal | Easy | 多叉樹的后序遍歷 | https://blog.csdn.net/fuxuemingzhu/article/details/81017965 |
| 589. Intersection of Two Arrays II | Easy | 先排序然后用兩個指針移動找出數組交集 | https://blog.csdn.net/fuxuemingzhu/article/details/54341965 |
| 590. Middle of the Linked List | Easy | 快慢指針同時向鏈表后面移動 | https://blog.csdn.net/fuxuemingzhu/article/details/81748484 |
| 591. Search in a Binary Search Tree | Easy | BST中節點的查找,遞歸 | https://blog.csdn.net/fuxuemingzhu/article/details/81015754 |
| 592. Number of Recent Calls | Easy | 找出滿足一定條件的區間長度,可以使用二分或者隊列 | https://blog.csdn.net/fuxuemingzhu/article/details/83714891 |
| 593. Maximum Depth of N-ary Tree | Easy | 求樹的高度,可以使用BFS和DFS | https://blog.csdn.net/fuxuemingzhu/article/details/81021864 |
| 594. Reverse Words in a String III | Easy | 字符串的單詞分別翻轉再拼接到一起就好了 | https://blog.csdn.net/fuxuemingzhu/article/details/70141268 |
| 595. Number of Lines To Write String | Easy | 使用字典保存每個字符的長度,然后統計每行的長度是否超過100就好了 | https://blog.csdn.net/fuxuemingzhu/article/details/79810381 |
| 596. Reverse String | Easy | 字符串翻轉,[::-1 | https://blog.csdn.net/fuxuemingzhu/article/details/51284382 |
| 597. Subdomain Visit Count | Easy | 字典保存每個子域名出現的次數即可 | https://blog.csdn.net/fuxuemingzhu/article/details/79789925 |
| 598. Number Complement | Easy | 求數字的補數,方法是異或上與其二進制數字的長度相等的全1二進制數 | https://blog.csdn.net/fuxuemingzhu/article/details/54562124 |
| 599. Shortest Distance to a Character | Easy | 過兩遍數組,分別找出距離左邊和右邊的這個字符的最短距離 | https://blog.csdn.net/fuxuemingzhu/article/details/80471765 |
| 600. Keyboard Row | Easy | 使用字典保存每行元素,然后看每個單詞是不是只由一行元素組成 | https://blog.csdn.net/fuxuemingzhu/article/details/68953517 |
| 601. Groups of Special-Equivalent Strings | Easy | 把奇偶位置都取出來,重新拼接成字符串作為指紋,看總的有多少種指紋 | https://blog.csdn.net/fuxuemingzhu/article/details/82083609 |
| 602. Leaf-Similar Trees | Easy | 先序、中序、后序都能得到葉子序列 | https://blog.csdn.net/fuxuemingzhu/article/details/81748617 |
| 603. Uncommon Words from Two Sentences | Easy | 使用字典統計每個單詞出現的次數,然后看字典keys()的交集,然后在字典中看是不是只出現了一次 | https://blog.csdn.net/fuxuemingzhu/article/details/81749170 |
| 604. Toeplitz Matrix | Easy | 判斷每個斜線是否相等,方法是判斷每個元素是否和其左上角元素相等 | https://blog.csdn.net/fuxuemingzhu/article/details/79127213 |
| 605. Island Perimeter | Easy | 求小島的周長。使用所有陸地個數×4-相交部分×2. | https://blog.csdn.net/fuxuemingzhu/article/details/83868905 |
| 606. Baseball Game | Easy | 用一個棧進行模擬 | https://blog.csdn.net/fuxuemingzhu/article/details/79183412 |
| 607. Binary Gap | Easy | 二進制表示中1的最大間距,保留上一個1的位置即可 | https://blog.csdn.net/fuxuemingzhu/article/details/81079495 |
| 608. Maximum Depth of Binary Tree | Easy | 二叉樹的高度,可以用DFS和BFS | https://blog.csdn.net/fuxuemingzhu/article/details/48490829 |
| 609. Single Number | Easy | 所有的數字出現了兩次,其中一個只出現了一次。找出這個數字的方法可以使用字典統計或者異或運算 | https://blog.csdn.net/fuxuemingzhu/article/details/54173334 |
| 610. Next Greater Element I | Easy | 找出某個數字右邊比他大的數字,直接遍歷查找就好了 | https://blog.csdn.net/fuxuemingzhu/article/details/79080337 |
| 611. Average of Levels in Binary Tree | Easy | 求每層的二叉樹的均值,可以使用BFS和DFS | https://blog.csdn.net/fuxuemingzhu/article/details/79088554 |
| 612. Binary Number with Alternating Bits | Easy | 判斷數字的二進制表示是不是01交錯的。直接遍歷判斷,或者位運算。 | https://blog.csdn.net/fuxuemingzhu/article/details/79089937 |
| 613. Prime Number of Set Bits in Binary Representation | Easy | 判斷二進制數字的1的個數是不是質數 | https://blog.csdn.net/fuxuemingzhu/article/details/79089092 |
| 614. Reverse Only Letters | Easy | 只翻轉字母其余字符不動,可以使用棧、雙指針 | https://blog.csdn.net/fuxuemingzhu/article/details/82956271 |
| 615. Nim Game | Easy | 判斷輸入數字是不是4的倍數即可 | https://blog.csdn.net/fuxuemingzhu/article/details/51284421 |
| 616. Goat Latin | Easy | 字符串處理,簡單 | https://blog.csdn.net/fuxuemingzhu/article/details/80471925 |
| 617. Surface Area of 3D Shapes | Easy | 統計立方體個數,減去相交面積 | https://blog.csdn.net/fuxuemingzhu/article/details/82083893 |
| 618. Letter Case Permutation | Easy | 經典回溯法,把字符的大小寫分別拼接到字符串尾部 | https://blog.csdn.net/fuxuemingzhu/article/details/79360330 |
| 619. Add Digits | Easy | 兩重循環,一直對每位數字求和直到剩余個位數 | https://blog.csdn.net/fuxuemingzhu/article/details/49161129 |
| 620. Move Zeroes | Easy | 使用一個指針指向第一個為0的位置,然后遍歷不是0的位置進行交換 | https://blog.csdn.net/fuxuemingzhu/article/details/51284981 |
| 621. Shortest Completing Word | Easy | 找出符合某個模式的字符串,直接處理就好了 | https://blog.csdn.net/fuxuemingzhu/article/details/79432228 |
| 622. Employee Importance | Easy | dfs | https://blog.csdn.net/fuxuemingzhu/article/details/79091343 |
| 623. Find the Difference | Easy | 找多出來的字符,可以使用字典,也可以使用異或 | https://blog.csdn.net/fuxuemingzhu/article/details/54174443 |
| 624. Detect Capital | Easy | 統計大寫字符的個數,判斷是不是在首位 | https://blog.csdn.net/fuxuemingzhu/article/details/68957658 |
| 625. Find All Numbers Disappeared in an Array | Easy | 用set去重,找出沒有出現的數字即可 | https://blog.csdn.net/fuxuemingzhu/article/details/53981307 |
| 626. Count Binary Substrings | Easy | 先找出連續的0,1個數,然后進行交錯求最小值,在求和 | https://blog.csdn.net/fuxuemingzhu/article/details/79183556 |
| 627. 4Sum II | Easy | 4sum,先確定兩個數字,然后看剩余兩個數字的和是否出現過 | https://blog.csdn.net/fuxuemingzhu/article/details/79473739 |
| 628. Rotated Digits | Easy | 字典保存翻轉后的數字,判斷是否相等即可。 | https://blog.csdn.net/fuxuemingzhu/article/details/79378135 |
| 629. Two Sum IV - Input is a BST | Easy | BFS或者DFS,在遍歷的過程中進行破案噸 | https://blog.csdn.net/fuxuemingzhu/article/details/79120732 |
| 630. Sum of Two Integers | Easy | 位運算 | https://blog.csdn.net/fuxuemingzhu/article/details/79379939 |
| 631. Intersection of Two Arrays | Easy | 用兩個set求交集,然后轉成List即可 | https://blog.csdn.net/fuxuemingzhu/article/details/54236183 |
| 632. Construct String from Binary Tree | Easy | 先序遍歷,可以省略右子樹,所以需要做一個節點是否存在的判斷 | https://blog.csdn.net/fuxuemingzhu/article/details/79121550 |
| 633. Reverse Linked List | Easy | 翻轉單鏈表,可以使用遞歸和迭代 | https://blog.csdn.net/fuxuemingzhu/article/details/51290121 |
| 634. Majority Element | Easy | Moore投票法,或者字典統計次數 | https://blog.csdn.net/fuxuemingzhu/article/details/51288749 |
| 635. Excel Sheet Column Number | Easy | 26進制,沒有難度 | https://blog.csdn.net/fuxuemingzhu/article/details/51286467 |
| 636. Roman to Integer | Easy | 使用字典保存映射,遍歷求值就好了。 | https://blog.csdn.net/fuxuemingzhu/article/details/48208995 |
| 637. Reorder Log Files | Easy | 分割排序,再拼接 | https://blog.csdn.net/fuxuemingzhu/article/details/83961188 |
| 638. Best Time to Buy and Sell Stock | Easy | 一次遍歷,如果后一天比前一天大就買了賣 | https://blog.csdn.net/fuxuemingzhu/article/details/51291151 |
| 639. Valid Anagram | Easy | 判斷字符串是否是同構的,直接統計詞頻或者排序 | https://blog.csdn.net/fuxuemingzhu/article/details/51286195 |
| 640. Lemonade Change | Easy | 貪心算法,找零錢先找大的面額,如果不夠再用小的面額 | https://blog.csdn.net/fuxuemingzhu/article/details/80913955 |
| 641. Contains Duplicate | Easy | 判斷數組是否有重復,可以統計詞頻,判斷set長度是否相等,排序等方法 | https://blog.csdn.net/fuxuemingzhu/article/details/51289768 |
| 642. Construct Quad Tree | Easy | 建立四叉樹,使用遞歸,判斷4個葉子全部是0或者1 | https://blog.csdn.net/fuxuemingzhu/article/details/81836838 |
| 643. Design HashMap | Easy | 設計一個字典,直接開個很大的數組即可,內存放得下 | https://blog.csdn.net/fuxuemingzhu/article/details/81017297 |
| 644. Convert BST to Greater Tree | Easy | 把每個節點變成比它大的節點的值的和,采用逆中序遍歷。 | https://blog.csdn.net/fuxuemingzhu/article/details/79132336 |
| 645. Same Tree | Easy | 判斷兩棵數是否相等,直接遞歸 | https://blog.csdn.net/fuxuemingzhu/article/details/51285076 |
| 646. Minimum Absolute Difference in BST | Easy | 中序遍歷,保存前一個節點,當前節點的值減去前一個節點的值 | https://blog.csdn.net/fuxuemingzhu/article/details/69666671 |
| 647. Minimum Distance Between BST Nodes | Easy | 和上題完全一樣 | https://blog.csdn.net/fuxuemingzhu/article/details/79402127 |
| 648. Ransom Note | Easy | 使用字典統計每個字符出現的次數,前者小于后者即可 | https://blog.csdn.net/fuxuemingzhu/article/details/54178342 |
| 649. Rotate String | Easy | 字符串切片 | https://blog.csdn.net/fuxuemingzhu/article/details/79521194 |
| 650. 1-bit and 2-bit Characters | Easy | 單次遍歷,判斷前面滿足的條件下,最后一位是0即可。 | https://blog.csdn.net/fuxuemingzhu/article/details/79130681 |
| 651. Minimum Moves to Equal Array Elements | Easy | 把n-1個數字加1,相等于把最大值-1.求和-n*最小值 | https://blog.csdn.net/fuxuemingzhu/article/details/54177981 |
| 652. Flood Fill | Easy | 對相同顏色進行染色,可以使用DFS和BFS. | https://blog.csdn.net/fuxuemingzhu/article/details/79401716 |
| 653. Sum of Left Leaves | Easy | 求所有左葉子的和,要判斷是不是在左邊,判斷是不是葉子,然后加到結果中 | https://blog.csdn.net/fuxuemingzhu/article/details/54178595 |
| 654. Number of Boomerangs | Easy | 統計回旋鏢的個數,不能暴力解決,需要使用排列組合公式n*(n-1) | https://blog.csdn.net/fuxuemingzhu/article/details/54379349 |
| 655. Range Addition II | Easy | 求隊列的最小值即可 | https://blog.csdn.net/fuxuemingzhu/article/details/79398272 |
| 656. Construct the Rectangle | Easy | 從算術平方根開始找約數即可 | https://blog.csdn.net/fuxuemingzhu/article/details/68957959 |
| 657. Two Sum II - Input array is sorted | Easy | 前后指針同時向中間走,找到target之后停止 | https://blog.csdn.net/fuxuemingzhu/article/details/70232518 |
| 658. First Unique Character in a String | Easy | 首先做個字符出現次數的統計,然后再次遍歷,找出只出現了一次的第一個字符。 | https://blog.csdn.net/fuxuemingzhu/article/details/84139374 |
| 659. Degree of an Array | Easy | 求最大的出現次數的所有數字,其最左右出現的位置差的最小值 | https://blog.csdn.net/fuxuemingzhu/article/details/79146067 |
| 660. Assign Cookies | Easy | 貪心算法,盡可能給小孩滿足其欲望的餅干 | https://blog.csdn.net/fuxuemingzhu/article/details/54177627 |
| 661. Convert Sorted Array to Binary Search Tree | Easy | 構建BST,使用中間數進行分割,用遞歸 | https://blog.csdn.net/fuxuemingzhu/article/details/70665213 |
| 662. Relative Ranks | Easy | 相對排名,可以使用堆或者排序或者argsort | https://blog.csdn.net/fuxuemingzhu/article/details/70173434 |
| 663. Image Smoother | Easy | 直接暴力求平均即可 | https://blog.csdn.net/fuxuemingzhu/article/details/79156499 |
| 664. Longest Palindrome | Easy | 統計出現次數的奇偶就可以 | https://blog.csdn.net/fuxuemingzhu/article/details/54236594 |
| 665. Minimum Index Sum of Two Lists | Easy | 保存出現的索引和與元素的對應,使用堆保存最小的就行 | https://blog.csdn.net/fuxuemingzhu/article/details/79138621 |
| 666. Missing Number | Easy | 理論和-當前和 | https://blog.csdn.net/fuxuemingzhu/article/details/70332471 |
| 667. Binary Tree Tilt | Easy | 后序遍歷函數返回的是左右子樹的差,在里面用變量求和 | https://blog.csdn.net/fuxuemingzhu/article/details/71440281 |
| 668. Positions of Large Groups | Easy | 找到長度大于3的連續字符,需要判斷結束!! | https://blog.csdn.net/fuxuemingzhu/article/details/80472242 |
| 669. Intersection of Two Arrays II | Easy | 可以排序,也可以使用字典統計次數 | https://blog.csdn.net/fuxuemingzhu/article/details/54341965 |
| 670. Diameter of Binary Tree | Easy | 遞歸求樹的深度,同時求左右兩個深度的和的最大值 | https://blog.csdn.net/fuxuemingzhu/article/details/70338312 |
| 671. Student Attendance Record I | Easy | 統計A的個數,并且判斷連續L的個數 | https://blog.csdn.net/fuxuemingzhu/article/details/70337973 |
| 672. Best Time to Buy and Sell Stock | Easy | 保存當前的最小值以及最大收益即可 | https://blog.csdn.net/fuxuemingzhu/article/details/51291151 |
| 673. Maximum Product of Three Numbers | Easy | 找出三個數最大的乘積 | https://blog.csdn.net/fuxuemingzhu/article/details/79169635 |
| 674. Binary Watch | Easy | 使用combinations函數 | https://blog.csdn.net/fuxuemingzhu/article/details/54344098 |
| 675. Min Cost Climbing Stairs | Easy | 動態規劃 | https://blog.csdn.net/fuxuemingzhu/article/details/79188612 |
| 676. Long Pressed Name | Easy | 使用雙指針,統計連續字符出現的次數 | https://blog.csdn.net/fuxuemingzhu/article/details/83245395 |
| 677. Reverse String II | Easy | Python的切片翻轉 | https://blog.csdn.net/fuxuemingzhu/article/details/70141909 |
| 678. Design HashSet | Easy | 直接開數組就行 | https://blog.csdn.net/fuxuemingzhu/article/details/81016992 |
| 679. Binary Tree Level Order Traversal II | Easy | DFS和BFS都可以 | https://blog.csdn.net/fuxuemingzhu/article/details/49108449 |
| 680. Base 7 | Easy | 轉成7進制 | https://blog.csdn.net/fuxuemingzhu/article/details/70194688 |
| 681. Distinct Subsequences | Easy | 動規,判斷當前字符是否相等 | https://blog.csdn.net/fuxuemingzhu/article/details/84228383 |
| 682. Merge Two Sorted Lists | Easy | 可以使用遞歸或者迭代 | https://blog.csdn.net/fuxuemingzhu/article/details/51291406 |
| 683. Poor Pigs | Easy | 類似撥號鍵盤,多維空間求解 | https://blog.csdn.net/fuxuemingzhu/article/details/81079261 |
| 684. Binary Tree Paths | Easy | 打印二叉樹的路徑,使用遞歸和迭代 | https://blog.csdn.net/fuxuemingzhu/article/details/71249429 |
| 685. Backspace String Compare | Easy | 字符串可以退格,使用棧輕松解決 | https://blog.csdn.net/fuxuemingzhu/article/details/80643408 |
| 686. Happy Number | Easy | 遞歸和迭代兩種做法 | https://blog.csdn.net/fuxuemingzhu/article/details/49180507 |
| 687. Longest Continuous Increasing Subsequence | Easy | 簡單的動態規劃 | https://blog.csdn.net/fuxuemingzhu/article/details/79220527 |
| 688. Find Smallest Letter Greater Than Target | Easy | 線性掃描或者二分 | https://blog.csdn.net/fuxuemingzhu/article/details/79137225 |
| 689. Pascal’s Triangle | Easy | 提前構造出來,然后處理每行即可 | https://blog.csdn.net/fuxuemingzhu/article/details/51346488 |
| 690. Second Minimum Node In a Binary Tree | Easy | 遞歸的時候找第二小值 | https://blog.csdn.net/fuxuemingzhu/article/details/79222455 |
| 691. Longest Word in Dictionary | Easy | 先排序,再找前綴是否存在。 | https://blog.csdn.net/fuxuemingzhu/article/details/79123277 |
| 692. Remove Element | Easy | 使用雙指針或者標記指針使得前面都是滿足要求的,后面都不滿足 | https://blog.csdn.net/fuxuemingzhu/article/details/51303161 |
| 693. Climbing Stairs | Easy | 動態規劃 | https://blog.csdn.net/fuxuemingzhu/article/details/51290778 |
| 694. Add Strings | Easy | 直接模擬大整數加法,需要注意進位問題 | https://blog.csdn.net/fuxuemingzhu/article/details/54380737 |
| 695. Lowest Common Ancestor of a Binary Search Tree | Easy | BST找公共祖先,使用遞歸很簡單 | https://blog.csdn.net/fuxuemingzhu/article/details/51290289 |
| 696. Longest Harmonious Subsequence | Easy | 統計相鄰的數字是否都存在即可 | https://blog.csdn.net/fuxuemingzhu/article/details/79233752 |
| 697. Symmetric Tree | Easy | 可以使用BFS和DFS兩種方法 | https://blog.csdn.net/fuxuemingzhu/article/details/51345707 |
| 698. Maximum Subarray | Easy | 動態規劃找子數組最大和 | https://blog.csdn.net/fuxuemingzhu/article/details/71101802 |
| 699. Most Common Word | Easy | 正則+統計 | https://blog.csdn.net/fuxuemingzhu/article/details/80472079 |
| 700. Power of Two | Easy | 判斷二進制是不是只有1個1即可 | https://blog.csdn.net/fuxuemingzhu/article/details/51290981 |
| 701. Convert a Number to Hexadecimal | Easy | 轉成16進制,難點在于負數的處理:加上1<<32 | https://blog.csdn.net/fuxuemingzhu/article/details/54426643 |
| 702. Remove Duplicates from Sorted List | Easy | 遞歸和循環 | https://blog.csdn.net/fuxuemingzhu/article/details/51290506 |
| 703. Power of Three | Easy | 循環和迭代 | https://blog.csdn.net/fuxuemingzhu/article/details/51290895 |
| 704. Number of 1 Bits | Easy | 使用位移統計二進制個數 | https://blog.csdn.net/fuxuemingzhu/article/details/51290376 |
| 705. Path Sum III | Easy | 找路徑的個數,使用DFS*2或者BFS+DFS | https://blog.csdn.net/fuxuemingzhu/article/details/71097135 |
| 706. Binary Search | Easy | 二分的模板 | https://blog.csdn.net/fuxuemingzhu/article/details/81017415 |
| 707. Pascal’s Triangle II | Easy | 原地翻轉可以用倒序遍歷 | https://blog.csdn.net/fuxuemingzhu/article/details/51348629 |
| 708. Implement Queue using Stacks | Easy | 兩個棧實現一個隊列 | https://blog.csdn.net/fuxuemingzhu/article/details/51345762 |
| 709. Subtree of Another Tree | Easy | DFS*2或DFS+BSF | https://blog.csdn.net/fuxuemingzhu/article/details/71440802 |
| 710. House Robber | Easy | 簡單dp,當前房間偷和不偷兩種狀態 | https://blog.csdn.net/fuxuemingzhu/article/details/51291936 |
| 711. Kth Largest Element in a Stream | Easy | 使用小根堆維護k個值,則第一個元素就是第k大元素 | https://blog.csdn.net/fuxuemingzhu/article/details/81027116 |
| 712. Reverse Vowels of a String | Easy | 使用棧進行翻轉,或者使用雙指針 | https://blog.csdn.net/fuxuemingzhu/article/details/51291677 |
| 713. Plus One | Easy | 使用carry表示進位 | https://blog.csdn.net/fuxuemingzhu/article/details/51346096 |
| 714. Ugly Number | Easy | 除去2,3,5因子即可 | https://blog.csdn.net/fuxuemingzhu/article/details/49183961 |
| 715. Search Insert Position | Easy | 二分查找 | https://blog.csdn.net/fuxuemingzhu/article/details/70738108 |
| 716. Set Mismatch | Easy | 使用統計次數或者直接求和計算 | https://blog.csdn.net/fuxuemingzhu/article/details/79247916 |
| 717. Largest Number At Least Twice of Others | Easy | 找出最大值,然后彈掉,再找次大值即可。 | https://blog.csdn.net/fuxuemingzhu/article/details/79188909 |
| 718. Power of Four | Easy | 遞歸和迭代 | https://blog.csdn.net/fuxuemingzhu/article/details/51291091 |
| 719. Find Pivot Index | Easy | 先求和,在遍歷求前半部分的和,找出左邊等于右邊 | https://blog.csdn.net/fuxuemingzhu/article/details/79248308 |
| 720. Palindrome Number | Easy | 可以先翻轉成整數,然后判斷和原來的是否相等 | https://blog.csdn.net/fuxuemingzhu/article/details/71334663 |
| 721. License Key Formatting | Easy | 計算第一個分割的長度,后面都是等長的了 | https://blog.csdn.net/fuxuemingzhu/article/details/79234075 |
| 722. Two Sum | Easy | 保存已經出現過的數字的索引,當下次遍歷的時候遇到了滿足要求的結果,那么既是停止 | https://blog.csdn.net/fuxuemingzhu/article/details/72465759 |
| 723. Repeated Substring Pattern | Easy | 判斷每個子串重復多次能不能組成原來的串即可 | https://blog.csdn.net/fuxuemingzhu/article/details/54564801 |
| 724. Maximize Distance to Closest Person | Easy | 從前向后以及從后向前遍歷兩次,取最近距離 | https://blog.csdn.net/fuxuemingzhu/article/details/80643250 |
| 725. Count and Say | Easy | 統計字符連續出現的次數,并說出來,需要注意最后的一個字符也要添加上去 | https://blog.csdn.net/fuxuemingzhu/article/details/71618640 |
| 726. Remove Duplicates from Sorted Array II | Easy | 快指針移動判斷和慢指針是否相等,如果不等就換到前面來 | https://blog.csdn.net/fuxuemingzhu/article/details/82829709 |
| 727. Maximum Average Subarray I | Easy | 一定注意是長度為k的滑動窗口,注意下標 | https://blog.csdn.net/fuxuemingzhu/article/details/79248629 |
| 728. Find Mode in Binary Search Tree | Easy | 如果使用附加空間,可以使用字典保存次數;否則需要遍歷兩次,判斷出現次數。 | https://blog.csdn.net/fuxuemingzhu/article/details/71124600 |
| 729. Guess Number Higher or Lower | Easy | 使用二分查找 | https://blog.csdn.net/fuxuemingzhu/article/details/71516105 |
| 730. Network Delay Time | Easy | dijkstra算法 | https://leetcode.com/problems/network-delay-time/description/ |
| 731. Quad Tree Intersection | Easy | 遞歸構造 | https://blog.csdn.net/fuxuemingzhu/article/details/82356008 |
| 732. Factorial Trailing Zeroes | Easy | 數有多少個5就行了 | https://blog.csdn.net/fuxuemingzhu/article/details/51347044 |
| 733. Arranging Coins | Easy | 二分查找滿足條件的層數即可 | https://blog.csdn.net/fuxuemingzhu/article/details/71330733 |
| 734. Implement Stack using Queues | Easy | 使用一個隊列就能實現棧,每次Push的時候,把隊列里的所有元素彈出再放進來就好了。 | https://blog.csdn.net/fuxuemingzhu/article/details/72598111 |
| 735. Add Binary | Easy | 使用進位進行模擬 | ddhttps://blog.csdn.net/fuxuemingzhu/article/details/77341154v |
| 736. Number of Segments in a String | Easy | string.split()默認就是按照多個空格分割 | https://blog.csdn.net/fuxuemingzhu/article/details/71194298 |
| 737. Path Sum | Easy | 遞歸和迭代都能滿足 | https://blog.csdn.net/fuxuemingzhu/article/details/71715810 |
| 738. Isomorphic Strings | Easy | 分別看s到t的映射和t到s的映射是不是一一映射的 | https://blog.csdn.net/fuxuemingzhu/article/details/72127108 |
| 739. String Compression | Easy | 使用Pos變量維護應該放到哪個位置,然后一次遍歷統計次數就好了 | https://blog.csdn.net/fuxuemingzhu/article/details/79183289 |
| 740. Range Sum Query - Immutable | Easy | 保存每個位置的累積和 | https://blog.csdn.net/fuxuemingzhu/article/details/79253036 |
| 741. Find All Anagrams in a String | Easy | 滑動窗口,保存等長的子字符串中包含的字符數是否和另外一個相等 | https://blog.csdn.net/fuxuemingzhu/article/details/79184109 |
| 742. Valid Parentheses | Easy | 使用棧判斷括號是否合法 | https://blog.csdn.net/fuxuemingzhu/article/details/72366868 |
| 743. Magic Squares In Grid | Easy | 暴力判斷每個9*9的格子是不是滿足題意的河圖 | https://blog.csdn.net/fuxuemingzhu/article/details/80473253 |
| 744. Linked List Cycle | Easy | 走兩步走一步,看是否重合 | https://blog.csdn.net/fuxuemingzhu/article/details/51297249 |
| 745. Remove Linked List Elements | Easy | 遞歸解法不好想,但是代碼很簡單 | https://blog.csdn.net/fuxuemingzhu/article/details/77340945 |
| 746. Palindrome Linked List | Easy | 利用一個數組保存所有的數字,然后判斷數組是不是回文的。 | https://blog.csdn.net/fuxuemingzhu/article/details/72597942 |
| 747. Minimum Depth of Binary Tree | Easy | DFS/BFS,其實DFS更難 | https://blog.csdn.net/fuxuemingzhu/article/details/48519035 |
| 748. Word Pattern | Easy | 一一映射 | https://blog.csdn.net/fuxuemingzhu/article/details/72528424 |
| 749. Min Stack | Easy | 使用輔助棧保存最小值 | https://blog.csdn.net/fuxuemingzhu/article/details/79253237 |
| 750. Contains Duplicate II | Easy | 使用字典保存出現的位置,當新的元素到來的時候,更新字典 | https://blog.csdn.net/fuxuemingzhu/article/details/77387169 |
| 751. Valid Mountain Array | Easy | 兩個while就可以了 | https://blog.csdn.net/fuxuemingzhu/article/details/84206380 |
| 752. Merge Sorted Array | Easy | 從后向前進行遍歷,每次找到大的往后移動 | https://blog.csdn.net/fuxuemingzhu/article/details/77444695 |
| 753. X of a Kind in a Deck of Cards | Easy | 需要進行一個遍歷,找到是否存在這個分組大小 | https://blog.csdn.net/fuxuemingzhu/article/details/82914279 |
| 754. Valid Palindrome II | Easy | 需要用到雙指針,先找到第一個不相等的位置,然后去除左邊或者右邊,判斷是否是回文 | https://blog.csdn.net/fuxuemingzhu/article/details/79252779 |
| 755. Longest Univalue Path | Easy | 定義的DFS是對過root的單臂進行循環,但是更新的結果是雙臂,有點意思 | https://blog.csdn.net/fuxuemingzhu/article/details/79248926 |
| 756. Longest Common Prefix | Easy | 遍歷最短的子串的每一位,看所有字符串在這一位上是不是相等的 | https://blog.csdn.net/fuxuemingzhu/article/details/77561186 |
| 757. Repeated String Match | Easy | 重復NB/NA + 3次,看b是不是在a里 | https://blog.csdn.net/fuxuemingzhu/article/details/79574835 |
| 122.Best Time to Buy and Sell Stock II | Easy | 只要每天的比前面一天高,那么就買上并且賣掉即可 | https://blog.csdn.net/fuxuemingzhu/article/details/70258549 |
| 758. Implement strStr() | Easy | 循環加切片 | https://blog.csdn.net/fuxuemingzhu/article/details/79254558 |
| 759. Heaters | Easy | 找出最臨近的距離 | https://blog.csdn.net/fuxuemingzhu/article/details/79254295 |
| 760. Reach a Number | Easy | 數學題,非常不喜歡 | https://blog.csdn.net/fuxuemingzhu/article/details/84556932 |
| 761. Nth Digit | Easy | 數學計算第多少位 | https://blog.csdn.net/fuxuemingzhu/article/details/84559975 |
| 762. Sqrt(x) | Easy | 二分查找或者牛頓法 | https://blog.csdn.net/fuxuemingzhu/article/details/79254648 |
| 763. Shortest Unsorted Continuous Subarray | Easy | 先排序,然后比較不等的位置 | https://blog.csdn.net/fuxuemingzhu/article/details/79254454 |
| 764. Reverse Bits | Easy | 翻轉二進制再轉成整數 | https://blog.csdn.net/fuxuemingzhu/article/details/79254344 |
| 765. Valid Palindrome | Easy | 過濾掉不是字母的字符,然后判斷是不是回文即可 | https://blog.csdn.net/fuxuemingzhu/article/details/79252936 |
| 766. Walking Robot Simulation | Easy | 模擬整個過程即可 | https://blog.csdn.net/fuxuemingzhu/article/details/82356556 |
| 767. K-diff Pairs in an Array | Easy | 找絕對值出現等于k的次數,需要對k進行判斷 | https://blog.csdn.net/fuxuemingzhu/article/details/79255633 |
| 768. Excel Sheet Column Title | Easy | 需要對26取余,并且做個判斷,因為0\26對26取余的結果是一樣的 | https://blog.csdn.net/fuxuemingzhu/article/details/51286857 |
| 769. Rotate Array | Easy | 可以使用額外數組,也可使用遞歸原地翻轉 | https://blog.csdn.net/fuxuemingzhu/article/details/79258753 |
| 770. Non-decreasing Array | Easy | 找到變小的位置,然后和再前面的數字進行判斷,看是應該修改當前的還是前面的 | https://blog.csdn.net/fuxuemingzhu/article/details/79264475 |
| 771. Design Linked List | Easy | 自己實現鏈表,挺復雜的。可以使用list進行模擬,方便很多。 | https://blog.csdn.net/fuxuemingzhu/article/details/81026066 |
| 772. Range Sum of BST | Medium | 需要根據根節點的值進行判斷,郵編和左邊需不需要繼續尋找 | https://blog.csdn.net/fuxuemingzhu/article/details/83961263 |
| 773. Max Increase to Keep City Skyline | Medium | 分別找出行和咧的最大值,把每個位置增長到行列最大值的最小值 | https://blog.csdn.net/fuxuemingzhu/article/details/79820383 |
| 774. Encode and Decode TinyURL | Medium | 使用字典完成映射 | https://blog.csdn.net/fuxuemingzhu |
| 775. Maximum Binary Tree | Medium | 找到最大值,然后數組切片 | https://blog.csdn.net/fuxuemingzhu/article/details/79265180 |
| 776. Insert into a Binary Search Tree | Medium | 遞歸解法,直接對當前節點進行操作! | https://blog.csdn.net/fuxuemingzhu/article/details/82385503 |
| 777. Find and Replace Pattern | Medium | 判斷是不是一一映射 | https://blog.csdn.net/fuxuemingzhu/article/details/82014687 |
| 778. Minimum Add to Make Parentheses Valid | Medium | 使用一個棧 | https://blog.csdn.net/fuxuemingzhu/article/details/83045871 |
| 779. All Paths From Source to Target | Medium | 回溯法找路徑 | https://blog.csdn.net/fuxuemingzhu/article/details/79624149 |
| 780. Score After Flipping Matrix | Medium | 把行進行翻轉,按列統計1的個數即可 | https://blog.csdn.net/fuxuemingzhu/article/details/81118328 |
| 781. All Possible Full Binary Trees | Medium | 使用兩種循環遍歷可能構成的左子樹和右子樹,每次構建新的root | https://blog.csdn.net/fuxuemingzhu/article/details/82084204 |
| 782. Partition Labels | Medium | 使用字典保存每個字符最后出現的位置,如果一個區間內字符的最后位置的都在一起,那么就添加到結果里 | https://blog.csdn.net/fuxuemingzhu/article/details/79265829 |
| 783. Battleships in a Board | Medium | 直接數有多少小島就行,判斷小島可以使用它的最左上角元素即可 | https://blog.csdn.net/fuxuemingzhu/article/details/79403172 |
| 784. Complex Number Multiplication | Medium | 復數運算,重點是分割字符串 | https://blog.csdn.net/fuxuemingzhu/article/details/79266080 |
| 785. Counting Bits | Medium | i的二進制1個數等于i/2的二進制個數+i%2 | https://blog.csdn.net/fuxuemingzhu/article/details/70806676 |
| 786. Spiral Matrix III | Medium | 保留循環更新步數,很惡心 | https://blog.csdn.net/fuxuemingzhu/article/details/82389223 |
| 787. Custom Sort String | Medium | 統計次數,拼接成字符串 | https://blog.csdn.net/fuxuemingzhu/article/details/79378688 |
| 788. Find All Duplicates in an Array | Medium | 原地變成負數,如果已經是負數,那么說明出現了兩次。 | https://blog.csdn.net/fuxuemingzhu/article/details/79275549 |
| 789. Design Twitter | Medium | 使用優先級隊列彈出最新的內容 | https://blog.csdn.net/fuxuemingzhu/article/details/82155420 |
| 790. Keys and Rooms | Medium | 可以使用DFS和BFS解決 | https://blog.csdn.net/fuxuemingzhu/article/details/80476862 |
| 791. Queue Reconstruction by Height | Medium | 先插入長得高的他們不會影響別人,然后在對應位置插入次高的 | https://blog.csdn.net/fuxuemingzhu/article/details/68486884 |
| 792. Find Bottom Left Tree Value | Medium | 層次遍歷,找出最后一層的第一個節點即可 | https://blog.csdn.net/fuxuemingzhu/article/details/70161829 |
| 793. Daily Temperatures | Medium | 使用一個棧,保存每個元素,如果后面的元素比較大,那么就已知出棧操作 | https://blog.csdn.net/fuxuemingzhu/article/details/79285081 |
| 794. Validate Stack Sequences | Medium | 使用棧進行模擬,無論如何都把當前的元素彈出,然后和彈出的元素進行比較,相等的話一直彈出 | https://blog.csdn.net/fuxuemingzhu/article/details/84495797 |
| 795. Find Largest Value in Each Tree Row | Medium | 遍歷每一層,找出最大值即可。 | https://blog.csdn.net/fuxuemingzhu/article/details/70183314 |
| 796. Single Element in a Sorted Array | Medium | 可以使用很風騷的二分查找k, | https://blog.csdn.net/fuxuemingzhu/article/details/79275636 |
| 797. Construct Binary Tree from Preorder and Postorder Traversal | Medium | 找到后序的倒數第二個元素就是右子樹的根節點 | https://blog.csdn.net/fuxuemingzhu/article/details/82391321 |
| 798. Single Number III | Medium | 使用異或或者字典解決 | https://blog.csdn.net/fuxuemingzhu/article/details/79434100 |
| 799. Optimal Division | Medium | 這個題非常tricky,沒意思 | https://blog.csdn.net/fuxuemingzhu/article/details/79403723 |
| 800. Palindromic Substrings | Medium | 判斷回文,需要判斷去掉兩頭字符之后是否仍然是回文,動態規劃 | https://blog.csdn.net/fuxuemingzhu/article/details/79433960 |
| 801. Max Area of Island | Medium | 找到島的數量,這個題可以使用BFS或者DFS的方法 | https://blog.csdn.net/fuxuemingzhu/article/details/79182435 |
| 802. Score of Parentheses | Medium | 可以使用棧和遞歸,這個題很巧妙,是個不錯的題目 | https://blog.csdn.net/fuxuemingzhu/article/details/84956643 |
| 803. Complete Binary Tree Inserter | Medium | 使用數組保存每個節點的指針,因為是完全二叉樹,所以節點位置除以2就得到了它的父親節點 | https://blog.csdn.net/fuxuemingzhu/article/details/82958284 |
| 804. Sort Characters By Frequency | Medium | 根據出現次數排序,然后構建新的字符串即可 | https://blog.csdn.net/fuxuemingzhu/article/details/79437548 |
| 805. Escape The Ghosts | Medium | 找出是否存在更小的曼哈頓距離 | https://blog.csdn.net/fuxuemingzhu/article/details/80480462 |
| 806. Binary Tree Inorder Traversal | Medium | 中序遍歷本身很簡單,但是這個遞歸的寫法不好想 | https://blog.csdn.net/fuxuemingzhu/article/details/79294461 |
| 807. Smallest Subtree with all the Deepest Nodes | Medium | 定義遞歸函數:返回<最大深度,最大深度對應的節點> | https://blog.csdn.net/fuxuemingzhu/article/details/82432130 |
| 808. Most Frequent Subtree Sum | Medium | 遍歷求和,字典統計出現次數最多的所有元素 | http://www.cnblogs.com/grandyang/p/6481682.html |
| 809. Beautiful Arrangement | Medium | 經典回溯法,要背會 | https://blog.csdn.net/fuxuemingzhu/article/details/79431941 |
| 810. Product of Array Except Self | Medium | 使用兩次遍歷,分別從左邊和右邊向中間靠攏 | https://blog.csdn.net/fuxuemingzhu/article/details/79325534 |
| 811. Minimum ASCII Delete Sum for Two Strings | Medium | 和LCS很接近的DP題目 | https://blog.csdn.net/fuxuemingzhu/article/details/79822689 |
| 812. Linked List Components | Medium | 判斷當前節點在set中,但是下一個節點不在即可 | https://blog.csdn.net/fuxuemingzhu/article/details/80479431 |
| 813. Top K Frequent Elements | Medium | 使用字典統計次數,使用優先級隊列實現排序 | https://blog.csdn.net/fuxuemingzhu/article/details/79294073 |
| 814. Minimum Moves to Equal Array Elements II | Medium | 找出中位數,然后求所有數字到中位數的距離和 | https://blog.csdn.net/fuxuemingzhu/article/details/79437926 |
| 815. Permutations | Medium | 經典回溯法 | https://blog.csdn.net/fuxuemingzhu/article/details/79363903 |
| 816. Teemo Attacking | Medium | 計算每次中毒的開始和結束時間 | https://blog.csdn.net/fuxuemingzhu/article/details/79438658 |
| 817. Generate Parentheses | Medium | 經典回溯法 | https://blog.csdn.net/fuxuemingzhu/article/details/79362373 |
| 818. Minesweeper | Medium | 掃雷游戲,使用DFS | https://blog.csdn.net/fuxuemingzhu/article/details/79462285 |
| 819. Beautiful Arrangement II | Medium | 每次把后面最大數字放到前面來就能增加一種新的差值 | https://blog.csdn.net/fuxuemingzhu/article/details/79437401 |
| 820. Map Sum Pairs | Medium | 前綴樹的題目,可以背一背 | https://blog.csdn.net/fuxuemingzhu/article/details/79436619 |
| 821. Friend Circles | Medium | 并查集的題目 | https://blog.csdn.net/fuxuemingzhu/article/details/70258103 |
| 822. Array Nesting | Medium | 一直遍歷就好了,使用一個visited數組,但不是回溯。 | https://blog.csdn.net/fuxuemingzhu/article/details/79460546 |
| 823. Most Stones Removed with Same Row or Column | Medium | 需要使用并查集,非常考驗抽象能力 | https://blog.csdn.net/fuxuemingzhu/article/details/84500642 |
| 824. Mirror Reflection | Medium | 鏡像反射,需要找規律,分偶數和奇數進行討論 | https://blog.csdn.net/fuxuemingzhu/article/details/82432579 |
| 825. Implement Magic Dictionary | Medium | 找到存不存在漢明間距是1 | https://blog.csdn.net/fuxuemingzhu/article/details/79447934 |
| 826. Rabbits in Forest | Medium | 對兔子出現次數進行統計,然后求一個公式。 | https://blog.csdn.net/fuxuemingzhu/article/details/79457764 |
| 827. Max Chunks To Make Sorted | Medium | 從左到右遍歷一次,時刻保持當前的最大值,如果當前最大值等于索引,那么chunck+1. | https://blog.csdn.net/fuxuemingzhu/article/details/80482014 |
| 828. Print Binary Tree | Medium | 先把二叉樹構造出來,然后使用類似二分查找左右分治的方法。 | https://blog.csdn.net/fuxuemingzhu/article/details/79439026 |
| 829. Implement Trie (Prefix Tree) | Medium | 構造字典樹,是個好題,需要背會 | https://blog.csdn.net/fuxuemingzhu/article/details/79388432 |
| 830. Replace Words | Medium | 使用字典樹或者拉鏈法求解 | https://blog.csdn.net/fuxuemingzhu/article/details/79391682 |
| 831. Maximum XOR of Two Numbers in an Array | Medium | 暴力求解會超時,需要使用異或的性質從最高位開始遍歷。或者使用字典樹。 | https://blog.csdn.net/fuxuemingzhu/article/details/79473171 |
| 832. Combination Sum | Medium | 回溯法,遍歷開始的地方不變,要跟蹤target | https://blog.csdn.net/fuxuemingzhu/article/details/79322462 |
| 833. Combination Sum II | Medium | 經典的回溯法,這個題需要背會 | https://blog.csdn.net/fuxuemingzhu/article/details/79343638 |
| 834. Combination Sum III | Medium | 也是經典回溯法,需要注意的是不重復,所以遞歸開始的地方要+1 | https://blog.csdn.net/fuxuemingzhu/article/details/79343681 |
| 835. Combination Sum IV | Medium | 這個題需要使用動態規劃求次數了,并不用回溯法。類似于爬樓梯 | https://blog.csdn.net/fuxuemingzhu/article/details/79343825 |
| 836. Subsets | Medium | 使用回溯法進行搜索,需要注意的是要跟蹤現在的位置,不能向回走 | https://blog.csdn.net/fuxuemingzhu/article/details/79359540 |
| 837. Count Numbers with Unique Digits | Medium | 這個題是找規律+動態規劃,要計算1位數字、2位數字…n位數字每位數字都不重復的情況有多少個 | https://blog.csdn.net/fuxuemingzhu/article/details/80552049 |
| 838. Combinations | Medium | 這個組合問題需要跟蹤現在的位置防止向后走,還要跟蹤在剩余的數字里面取多少個 | https://blog.csdn.net/fuxuemingzhu/article/details/80552049 |
| 839. Gray Code | Medium | 格雷碼是把比自己小一位的格雷碼正向一遍,然后以1開頭+小一位的格雷碼反向一遍,是個遞歸過程 | https://blog.csdn.net/fuxuemingzhu/article/details/80664204 |
| 840. Subsets II | Medium | 這個求子集的時候要屏蔽相同的起始元素,在for循環里進行判斷 | https://blog.csdn.net/fuxuemingzhu/article/details/79785548 |
| 841. Letter Combinations of a Phone Number | Medium | 這個是個排列問題,先把當前位置的所有字符一次排好,然后再排列后面的字符串 | https://blog.csdn.net/fuxuemingzhu/article/details/79363119 |
| 842. Palindrome Partitioning | Medium | 同樣的回溯法,如果定義新函數沒有太多難度,如果使用題目給定的函數進行遞歸需要額外判斷終止條件 | https://blog.csdn.net/fuxuemingzhu/article/details/79574462 |
| 843. Permutations II | Medium | 如果當前數字和前面的數字相等,并且前面的數字沒有訪問過,那么就不能搜索 | https://blog.csdn.net/fuxuemingzhu/article/details/79513261 |
| 844. Restore IP Addresses | Medium | 回溯法,需要考慮ip的各種過濾條件,比如255和0開頭的數字不合法 | https://blog.csdn.net/fuxuemingzhu/article/details/80657420 |
| 845. Split Array into Fibonacci Sequence | Medium | 回溯,需要注意不能超過int,和addative numbers很像 | https://blog.csdn.net/fuxuemingzhu/article/details/80662840 |
| 846. Permutation Sequence | Medium | 需要找規律,每一位等于剩余數字/剩余位數的全排列 | https://blog.csdn.net/fuxuemingzhu/article/details/80658810 |
| 847. Word Search | Medium | 也是經典回溯法,需要保存是否已經訪問過了某個位置,總體代碼很常見 | https://blog.csdn.net/fuxuemingzhu/article/details/79386066 |
| 848. Add and Search Word - Data structure design | Medium | Trie加上遞歸,本身不難,注意遍歷所有子節點然后遞歸的操作 | https://blog.csdn.net/fuxuemingzhu/article/details/79390052 |
| 849. N-Queens II | Medium | 回溯法去解決。使用一維的數組保存每行放在第多少列,進行有效棋盤判斷的時候,需要判斷同列或者斜率絕對值1 | https://blog.csdn.net/fuxuemingzhu/article/details/79517109 |
| 850. Shopping Offers | Medium | 使用回溯法進行求解,套餐和單獨點都進行嘗試,這個題經常考! | https://blog.csdn.net/fuxuemingzhu/article/details/82504050 |
| 851. Binary Tree Preorder Traversal | Medium | 這個先序遍歷迭代解法使用的是棧,有點違反直覺,建議仔細思考思考 | https://blog.csdn.net/fuxuemingzhu/article/details/72575422 |
| 852. Asteroid Collision | Medium | 棧里保留著向右移動的小行星,如果當前的行星是向左的,向棧里面判斷自身是否銷毀 | https://blog.csdn.net/fuxuemingzhu/article/details/81079015 |
| 853. Next Greater Element II | Medium | 單調遞減棧,這個題難點在于循環數組,容易分析出把數組過兩遍即可,需要求余 | https://blog.csdn.net/fuxuemingzhu/article/details/79463006 |
| 854. Image Overlap | Medium | 正方形重合,使用字典保存兩兩之間向量的差,求最大的移動向量出現的次數 | https://blog.csdn.net/fuxuemingzhu/article/details/82597238 |
| 855. Minimum Path Sum | Medium | 最小路徑和,簡單的動態規劃,注意初始狀態 | https://blog.csdn.net/fuxuemingzhu/article/details/82620422 |
| 856. Unique Paths | Medium | 簡單的動態規劃,給周圍包上一圈全0的數字,方便狀態轉移 | https://blog.csdn.net/fuxuemingzhu/article/details/79337352 |
| 857. Unique Paths II | Medium | 也是動態規劃,和上面的區別在于有障礙物,直接設置障礙物處的狀態是0 | https://blog.csdn.net/fuxuemingzhu/article/details/83154114 |
| 858. Rotate Image | Medium | 先上下翻轉,再沿著主對角線翻轉即可完成旋轉操作 | https://blog.csdn.net/fuxuemingzhu/article/details/79451733 |
| 859. Target Sum | Medium | 使用動態規劃,dp[i][j]表示到第i個位置位置構成和為j的組合有多少種 | https://blog.csdn.net/fuxuemingzhu/article/details/80484450 |
| 860. Unique Binary Search Trees | Medium | 記憶化遞歸,動態規劃,卡特蘭數等等,方法很多 | https://blog.csdn.net/fuxuemingzhu/article/details/79367789 |
| 861. Decode String | Medium | 字符串解碼,需要用到棧保存已經有的字符串和當前的數字,很經典的題目 | https://blog.csdn.net/fuxuemingzhu/article/details/79332894 |
| 862. Group Anagrams | Medium | 對字符串進行排序,排序之后相等的字符串說明包含的字符相等 | https://blog.csdn.net/fuxuemingzhu/article/details/69831375 |
| 863. Task Scheduler | Medium | 任務調度題目,很容易推出公式,但是切記整個時間最少滿足任務個數 | https://blog.csdn.net/fuxuemingzhu/article/details/81947087 |
| 864. Best Time to Buy and Sell Stock with Cooldown | Medium | 經典動態規劃的題目,這個題需要定義兩個數組:今天有股票的情況下的收益和今天沒有股票情況下的收益,然后狀態轉移就簡單了 | https://blog.csdn.net/fuxuemingzhu/article/details/82656899 |
| 865. Best Time to Buy and Sell Stock with Transaction Fee | Medium | 動態規劃,做法和上面非常類似,每次計算收益的時候需要減去手續費 | https://blog.csdn.net/fuxuemingzhu/article/details/79888528 |
| 866. Flatten Binary Tree to Linked List | Medium | 如果用遞歸的話一定明白遞歸函數是把一個二叉樹弄平形成鏈表,然后找到鏈表尾部,把鏈表拼接 | https://blog.csdn.net/fuxuemingzhu/article/details/70241424 |
| 867. Longest Increasing Subsequence | Medium | LIS問題,是dp最經典的題目之一,需要從每個位置向前遍歷以更新dp | https://blog.csdn.net/fuxuemingzhu/article/details/79820919 |
| 868. Search a 2D Matrix II | Medium | 從矩陣的左下或者右上開始遍歷,很簡單 | https://blog.csdn.net/fuxuemingzhu/article/details/79459314 |
| 869. Search a 2D Matrix | Medium | 在二維數組中進行搜索,可以使用矩陣左下和右上角的查詢方法,也可以直接遍歷每一個位置。 | https://blog.csdn.net/fuxuemingzhu/article/details/79459200 |
| 870. Perfect Squares | Medium | 動態規劃,一個數字能由多少個整數平方和構成等于滿足更小數字+平方數的狀態+1。 | https://blog.csdn.net/fuxuemingzhu/article/details/51284292 |
| 871. Partition Equal Subset Sum | Medium | 把數字的累計和當做狀態,當前的狀態等于前面的數字累積和-當前數值的狀態。 | https://blog.csdn.net/fuxuemingzhu/article/details/79787425 |
| 872. Contiguous Array | Medium | 求累積和,然后判斷在這個位置前面,這個累計和是不是出現過 | https://blog.csdn.net/fuxuemingzhu/article/details/82667054 |
| 873. Merge Intervals | Medium | 使用start和end兩個變量表示區間,當區間不再重疊的時候把上面區間放入結果中,重置start和end | https://blog.csdn.net/fuxuemingzhu/article/details/69078468 |
| 874. Course Schedule | Medium | 拓撲排序,每次彈出入度為0的節點,并把以他為入度的所有節點的入度-1 | https://blog.csdn.net/fuxuemingzhu/article/details/82951771 |
| 875. Construct Binary Tree from Preorder and Inorder Traversal | Medium | 前序遍歷的首節點就是根節點,在中序中的位置坐標是左子樹,右邊是右子樹 | https://blog.csdn.net/fuxuemingzhu/article/details/80775173 |
| 876. Lowest Common Ancestor of a Binary Tree | Medium | 這個遞歸調用需要注意如果查找到任何一個節點都算是找到了最低公共祖先 | https://blog.csdn.net/fuxuemingzhu/article/details/80778001 |
| 877. Word Break | Medium | 動態規劃,每個位置的狀態由前面的某個狀態+一個條件得到,搜索是兩重循環 | https://blog.csdn.net/fuxuemingzhu/article/details/79368360 |
| 878. Minimum Size Subarray Sum | Medium | 蟲取法,找到最小長度的滿足區間 | https://blog.csdn.net/fuxuemingzhu/article/details/83063096 |
| 879. Sort List | Medium | 對于list的merge sort。 | https://blog.csdn.net/fuxuemingzhu/article/details/79630742 |
| 880. Find First and Last Position of Element in Sorted Array | Medium | 自己實現lower_bound和upper_bound函數,使用二分 | https://blog.csdn.net/fuxuemingzhu/article/details/83273084 |
| 881. Search in Rotated Sorted Array | Medium | 對二分的進一步理解:判斷下一步查找的范圍到底在mid左邊還是右邊 | https://blog.csdn.net/fuxuemingzhu/article/details/79534213 |
| 882. Maximal Square | Medium | 這個題使用dp,某位置的最大正方形邊長等于左邊、上邊、左上邊三個位置最小的邊長+1 | https://blog.csdn.net/fuxuemingzhu/article/details/82992233 |
| 883. Jump Game | Medium | 貪心算法,保存每一步都選擇跳的最遠的地方,如果這個位置不能到達直接返回false. | https://blog.csdn.net/fuxuemingzhu/article/details/83504437 |
| 884. Find the Duplicate Number | Medium | 尋找重復的數字,相當于鏈表中的環,也可以使用二分查找 | https://blog.csdn.net/fuxuemingzhu/article/details/79530847 |
| 885. Linked List Cycle II | Medium | 找出鏈表環的入口,可以使用雙指針,也可以使用set保存已經遍歷過的路徑 | https://blog.csdn.net/fuxuemingzhu/article/details/79530638#set_134 |
| 886. Add Two Numbers | Medium | 兩個鏈表的加法,只要有一個鏈表不空或者進位存在就添加新的節點 | https://blog.csdn.net/fuxuemingzhu/article/details/79379626 |
| 887. Next Permutation | Medium | 找到后面的第一個不降序數字,與第一個比它大的位置進行交換,然后把后面部分翻轉即可 | https://blog.csdn.net/fuxuemingzhu/article/details/82113409 |
| 888. Word Search | Medium | 標準的回溯法,需要向周圍進行搜索,同時保存已經遍歷了的位置不再訪問 | https://blog.csdn.net/fuxuemingzhu/article/details/79386066 |
| 889. Coin Change | Medium | 動態規劃,定義dp數組是能夠成的amount的最少硬幣數,遍歷硬幣更新每個amount | https://blog.csdn.net/fuxuemingzhu/article/details/83592442 |
| 890. Maximum Product Subarray | Medium | 求連續數組最大積,需要保存每個位置的最大、最小積,每個位置都去維護這兩個變量 | https://blog.csdn.net/fuxuemingzhu/article/details/83211451 |
| 891. Longest Palindromic Substring | Medium | 字符串的簡單動態規劃,也可以直接暴力求解 | https://blog.csdn.net/fuxuemingzhu/article/details/79573621 |
| 892. Validate Binary Search Tree | Medium | 遞歸函數中維護每個節點的取值上下限即可。或者有序的中序遍歷是個BST | https://blog.csdn.net/fuxuemingzhu/article/details/70209865 |
| 893. Longest Substring Without Repeating Characters | Medium | 蟲取法+set找到每個不含重復元素的子串,保存最長子串 | https://blog.csdn.net/fuxuemingzhu/article/details/82022530 |
| 894. Implement Rand10() Using Rand7() | Medium | 需要先構造出rand40,然后mod10即可得到rand10. | https://blog.csdn.net/fuxuemingzhu/article/details/81809478 |
| 895. Integer Break | Medium | 任意>=2的整數都可以拆解成2x+3y,當y盡可能大的時候target = 2x+3y的結果最大 | https://blog.csdn.net/fuxuemingzhu/article/details/80486238 |
| 896. Redundant Connection | Medium | 并查集的題目,這種題目是個模板,應該背會DSU的代碼 | https://blog.csdn.net/fuxuemingzhu/article/details/80487064 |
| 897. Integer to Roman | Medium | 整數變成羅馬數字,把整數進行拆解即可,在拆解的過程中拼接每個數字對應的字符 | https://blog.csdn.net/fuxuemingzhu/article/details/48210399 |
| 898. Kth Smallest Element in a BST | Medium | 遞歸解法需要使用全局變量保存已經遍歷了多少個了,到達k個時直接停止并返回即可。 | https://blog.csdn.net/fuxuemingzhu/article/details/69947495 |
| 899. Bulb Switcher II | Medium | 智力題,被踩了很多次,沒仔細做 | https://blog.csdn.net/fuxuemingzhu/article/details/79451356 |
| 900. Reordered Power of 2 | Medium | 思路要靈活一點,直接統計數字出現的次數是否相等即可,不必真的重新排序 | https://blog.csdn.net/fuxuemingzhu/article/details/82468653 |
| 901. Shuffle an Array | Medium | Fisher–Yates 洗牌算法:依次遍歷列表中的每一位,并將這一位與其后面的隨機一位交換順序。 | https://blog.csdn.net/fuxuemingzhu/article/details/79391342 |
| 902. Add Two Numbers II | Medium | 使用額外空間保存兩個列表的值元素,然后再模擬加法 | https://blog.csdn.net/fuxuemingzhu/article/details/79380457 |
| 903. Minimum Area Rectangle | Medium | 對角線確定長方形,判斷另外一條對角線上的兩個點是不是存在即可 | https://leetcode.com/problems/minimum-area-rectangle/ |
| 904. Different Ways to Add Parentheses | Medium | 這是個遞歸求解的題目,如果遇到一個運算符就把左右兩部分分別求出值,然后再做操作。左右部分分別求值求相當于給左右部分分別加上了括號 | https://blog.csdn.net/fuxuemingzhu/article/details/79568487 |
| 905. Design Circular Deque | Medium | 設計deque,最簡單的方法是使用雙向鏈表 | https://blog.csdn.net/fuxuemingzhu/article/details/81027989 |
| 906. Random Pick Index | Medium | 使用蓄水池抽樣,每個數字被選擇的概率是1/cnt,遍歷結束即可 | https://blog.csdn.net/fuxuemingzhu/article/details/79540576 |
| 907. Linked List Random Node | Medium | 和上題一致,蓄水池抽樣 | https://blog.csdn.net/fuxuemingzhu/article/details/79488113 |
| 908. RLE Iterator | Medium | 一個循環,判斷當前位置和剩下的數字n之間的關系,看是否向后走即可 | https://blog.csdn.net/fuxuemingzhu/article/details/82757347 |
| 909. Total Hamming Distance | Medium | 統計int的32位中有多少個數字該位是1、多少個數字該位是0,結果是兩者相乘 | https://blog.csdn.net/fuxuemingzhu/article/details/79494653 |
| 910. Split Linked List in Parts | Medium | 求出每一段的長度,然后定一個函數切鏈表即可 | https://blog.csdn.net/fuxuemingzhu/article/details/79543931#_57 |
| 911. Hand of Straights | Medium | 使用map保存每個數字的次數,然后向后遍歷W-1個數字,判斷是否都存在即可 | https://blog.csdn.net/fuxuemingzhu/article/details/82530857 |
| 912. Copy List with Random Pointer | Medium | 遍歷兩遍,第一遍構造的節點放到字典里,第二遍遍歷再連接起來 | https://blog.csdn.net/fuxuemingzhu/article/details/80787528 |
| 399. Evaluate Division | Medium | 帶權有向圖的搜索問題 | https://blog.csdn.net/fuxuemingzhu/article/details/82591165 |
| 636. Exclusive Time of Functions | Medium | 計算機函數的調度問題,使用棧解決 | https://blog.csdn.net/fuxuemingzhu/article/details/79537000 |
| 646. Maximum Length of Pair Chain | Medium | 這個就是最多能看多少個電視節目的問題,使用的是貪心法,策略是優先選擇結束時間早的項目 | https://blog.csdn.net/fuxuemingzhu/article/details/79826524 |
| 328. Odd Even Linked List | Medium | 先分別構建偶數位置的鏈表和奇數位置的鏈表,把對應位置的結果放到對應位置之后,再拼接即可 | https://blog.csdn.net/fuxuemingzhu/article/details/79569396 |
| 638. Shopping Offers | Medium | DFS進行搜索,嘗試每種套餐方案 | https://blog.csdn.net/fuxuemingzhu/article/details/82504050 |
| 318. Maximum Product of Word Lengths | Medium | 直接O(N^2)遍歷即可 | https://blog.csdn.net/fuxuemingzhu/article/details/80932597 |
| 173. Binary Search Tree Iterator | Medium | 把每個節點的左孩子放到棧中,遍歷棧中節點的時候需要把其右孩子的所有左孩子放到棧中 | https://blog.csdn.net/fuxuemingzhu/article/details/79436947 |
| 337. House Robber III | Medium | 遞歸查找每個節點可不可以用的情況下,最優結果是多少。可不可以用是由父親節點用沒用過決定的,所以遞歸函數有個變量保存父親節點的狀態。 | https://blog.csdn.net/fuxuemingzhu/article/details/80779068 |
| 343. Integer Break | Medium | 需要證明把一個數字拆成盡可能多的3和盡可能少的4的和的時候,總乘積最大 | https://blog.csdn.net/fuxuemingzhu/article/details/80486238 |
| 875. Koko Eating Bananas | Medium | 這個是一個變相的二分查找,需要根據當前的值判斷查找后的移動 | https://blog.csdn.net/fuxuemingzhu/article/details/82716042 |
| 901. Online Stock Span | Medium | 需要使用一個單調遞減棧保存每個數字的前面出現了多少小于等于該數字的數,后來的數字需要吞掉棧中比自己小的數字 | https://blog.csdn.net/fuxuemingzhu/article/details/82781059 |
總結
以上是生活随笔為你收集整理的LeetCode 力扣算法题解汇总,All in One的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一周信创舆情观察(6.14~6.20)
- 下一篇: 学校食堂外卖APP开发模板