**It takes a village to raise a child.**
Sept. 9, 2018
I like to adapt the culture to learn from and contribute to Leetcode discuss community. It is a long journey.
It took more than 3 years five months for me to understand that I also should learn to contribute to the community, I like to make the community better for learning and sharing, encouraging each other to share ideas. From January 2015, I started to work on Leetcode algorithm, three years 6 months later, July 2018 is time for me to be a writer for Leetcode discuss.
This page is dedicated to show my effort to provide a feature to review all my past practice, all my sharing on Leetcode discuss.
**I am the one**
Since I am working on target to solve first 300 algorithm on Leetcode.com, I like to solve as many algorithms as possible. So it will take me some time to work on Leetcode discuss, specially on Leetcode easy level tree algorithms. I like to review those algorithms first and then I will write something to share for each algorithm.
**Leetcode discuss**
I will share more practice later. I also will add those links I shared before.
Sept. 9, 2018
Leetcode.com does not provide product feature to look up discuss shared by a player. Google search result will only show at most 20 results of my discuss.
Google search: Leetcode leetcode jianmin.chen.39
[Here](https://www.google.ca/search?q=leetcode+jianmin.chen.39&rlz=1C1GCEA_enCA759CA759&oq=leetcode+jianmin.chen.39&aqs=chrome..69i57.3359j0j7&sourceid=chrome&ie=UTF-8) is the link.
Sept. 13, 2018
I like to list all my sharings on Tree easy level algorithms, Array easy level algorithms, Math easy level algorithms.
**Total sharing 96 (Oct. 5, 2018)**
**Total sharing 188 (Nov. 28, 2018) Easy level 122, Medium level 57, hard level 9**
I will keep the statistics update here:
[My post on Leetcode.com discuss in detail](https://github.com/jianminchen/Leetcode_Julia/blob/master/Leetcode%20discussion/Statistics-LeetcodeDiscuss.pdf)
May 28, 2019
I also put together a page to list all practice in 2019. [Here](https://github.com/jianminchen/Leetcode_Julia/blob/master/Leetcode%20discussion/2019AlgorithmPractice.md) is the link.
**Welcome to visit all my 2019 practice on Leetcode.com**. [Here](https://github.com/jianminchen/Leetcode_Julia/blob/master/Leetcode%20discussion/2019AlgorithmPractice.md) is the link.
**Tree easy level algorithms (solved 30, shared 5)**
[437. Path Sum III](https://leetcode.com/problems/path-sum-iii/discuss/158397/C-solution-with-time-complexity-O(N)-N-is-total-nodes-of-tree)
[501. Find Mode in Binary Search Tree](https://leetcode.com/problems/find-mode-in-binary-search-tree/discuss/158400/C-solution-Design-should-be-simplified)
[590. N-ary tree postorder traversal](https://leetcode.com/problems/n-ary-tree-postorder-traversal/discuss/170046/C-readable-code)
[671. Second minimum node in a binary tree](https://leetcode.com/problems/second-minimum-node-in-a-binary-tree/discuss/164878/C-The-solution-is-working-find-but-it-can-be-simplified-using-given-constraint)
[687. Longest univalue path](https://leetcode.com/problems/longest-univalue-path/discuss/165680/C-longest-path-cross-root) optimal solution
[687. Longest univalue path](https://leetcode.com/problems/longest-univalue-path/discuss/158926/C-solution-with-design-flaws-passing-only-43-out-of-68-test-cases) with design flaw, pass 43 out of 68 test cases
[687. Longest univalue path](https://leetcode.com/problems/longest-univalue-path/discuss/158923/C-solution-using-recursive-function) copy the idea from most popular post
[687. Longest univalue path](https://leetcode.com/problems/longest-univalue-path/discuss/190183/C-recursive-solution) learn from a mock interview
[687. Longest univalue path](https://leetcode.com/problems/longest-univalue-path/discuss/244850/C-post-order-check-with-parent-value-with-step-by-step-illustration) C# post order - check with parent value with step by step illustration
[687. Longest Univalue Path](https://leetcode.com/problems/longest-univalue-path/discuss/305602/C-various-topics-covered-in-practice-from-2018-to-2019) various topics covered in practice from 2018 to 2019
[687. Longest Univalue Path](https://leetcode.com/problems/longest-univalue-path/discuss/165680/C-longest-path-cross-root) C# brute force on every node for cross path with detail explanation practice in 2019
[993 Cousins in binary tree](https://leetcode.com/problems/cousins-in-binary-tree/discuss/238645/C-preorder-traversal-and-use-a-dictionary-to-help)
**Array easy level algorithms (solved 44, shared 24)**
[53: Maximum subarray](https://leetcode.com/problems/maximum-subarray/discuss/164272/Csharp-code-using-dynamic-programming)
[119: Pascal's triangle II](https://leetcode.com/problems/pascals-triangle-ii/discuss/162250/My-naive-approach-is-time-consuming-but-the-code-is-still-readable) Naive one
[119: Pascal's triangle II](https://leetcode.com/problems/pascals-triangle-ii/discuss/162252/Optimal-solution-and-less-than-10-lines-of-code-copying-idea-from-most-popular-discuss) Optimal one
[169. Majority element](https://leetcode.com/problems/majority-element/discuss/165243/C-O(N)-time-complexity-and-space-complexity-O(1))
[189. Rotate the array](https://leetcode.com/problems/rotate-array/discuss/170049/C-readable-code-and-still-work-hard-on-easy-level-array-algorithms)
[219. Contains Duplicate II](https://leetcode.com/problems/contains-duplicate-ii/discuss/170050/C-rookie-to-share-my-practice)
[414. The third maximum number](https://leetcode.com/problems/third-maximum-number/discuss/160464/C-solution-using-SortedSet)
[485. Max Consecutive Ones](https://leetcode.com/problems/max-consecutive-ones/discuss/166306/C-iterate-the-array-and-then-determine-the-range-of-consecutive-ones)
[448. Find All Numbers Disappeared in an Array](https://leetcode.com/problems/find-all-numbers-disappeared-in-an-array/discuss/165249/C-swap-two-elements-in-the-array-O(N)-time-complexity)
[566. Reshape the Matrix](https://leetcode.com/problems/reshape-the-matrix/discuss/166556/C-readable-code)
[624. Maximum distance in arrays](http://www.cnblogs.com/grandyang/p/7073343.html) I will study the blog and write one.
[628: Maximum product of three numbers](https://leetcode.com/problems/maximum-product-of-three-numbers/discuss/170051/C-newbie-to-share-my-practice)
[661: Image smoother](https://leetcode.com/problems/image-smoother/discuss/170054/C-a-newbie-to-share-the-practice)
[665. Non-decreasing array](https://leetcode.com/problems/non-decreasing-array/discuss/170055/C-I-missed-one-user-case-but-I-learned-to-fix-it)
[695. Max Area of Island](https://leetcode.com/problems/max-area-of-island/discuss/166300/C-Depth-first-search-using-recursive-function)
[717. 1-bit and 2-bit characters](https://leetcode.com/problems/1-bit-and-2-bit-characters/discuss/165241/C-dynamic-programming-solution-five-submissions-and-finally-pass-online-judge)
[724. Find pivot index](https://leetcode.com/problems/find-pivot-index/discuss/164880/C-my-readable-code)
[746: Min cost climbing stairs](https://leetcode.com/problems/min-cost-climbing-stairs/discuss/165234/C-dynamic-programming-solution)
[766. Toeplitz Matrix](https://leetcode.com/problems/toeplitz-matrix/discuss/166675/C-it-is-a-good-exercise-even-though-the-solution-is-so-complicated)
[830: Positions of large groups](https://leetcode.com/problems/positions-of-large-groups/discuss/162258/C-practice-and-the-order-of-positions-is-based-on-the-order-in-original-string)
[832. Flipping an Image](https://leetcode.com/problems/flipping-an-image/discuss/166521/C-readable-code)
[840. Magic Squares In Grid](https://leetcode.com/problems/magic-squares-in-grid/discuss/166991/C-readable-code-maybe-need-to-simplify-the-code)
[867. Transpose matrix - pass 29/36 test cases]()
[888. Fair Candy Swap](https://leetcode.com/problems/fair-candy-swap/discuss/166309/C-readable-code)
[896. Monotonic Array](https://leetcode.com/problems/monotonic-array/discuss/166310/C-readable-code)
[917. Reverse Only Letters](https://leetcode.com/problems/reverse-only-letters/discuss/179095/C-two-pointers-technique)
[930. Binary subarrays with sum](https://leetcode.com/problems/binary-subarrays-with-sum/discuss/186713/C-it-took-me-five-submissions-in-the-contest-one-hour) code written in the weekly contest 108
[941. Valid Mountain Array](https://leetcode.com/problems/valid-mountain-array/discuss/194935/C-check-peak-count-and-valley-count)
[965. Univalued Binary Tree](https://leetcode.com/problems/univalued-binary-tree/discuss/211236/C-think-about-test-cases-one-by-one)code written in weekly contest 117
[973 K Cloest points to origin](https://leetcode.com/problems/k-closest-points-to-origin/discuss/218029/C-timeout-is-really-a-challenging-problem-to-solve) written after the weekly contest 119
[976 Largest perimeter triangle](https://leetcode.com/problems/largest-perimeter-triangle/discuss/218043/C-kind-of-greedy-algorithm) kind of greedy
[977. Squares of a Sorted Array](https://leetcode.com/problems/squares-of-a-sorted-array/discuss/222041/C-Get-absolution-value-first-and-then-sort-the-array) Solution written in contest 120
[997. Find town judge](https://leetcode.com/problems/find-the-town-judge/discuss/243015/C-using-fixed-size-of-the-array-to-help-tracking-all-town-judge-candidates)
[1018. Binary Prefix Divisible By 5](https://leetcode.com/problems/binary-prefix-divisible-by-5/discuss/265636/C-divisible-by-5-is-determined-by-right-most-digit-only) solution written in contest 130
[1033. Moving Stones Until Consecutive](https://leetcode.com/problems/moving-stones-until-consecutive/discuss/282955/C-it-is-hard-to-understand-the-problem) took me 40 minutes to solve in the weekly contest
[1037. Valid Boomerang](https://leetcode.com/problems/valid-boomerang/discuss/288663/C-It-took-me-34-minutes-three-submissions-in-weekly-contest) 34 minutes for an easy algorithm
[1089. Duplicate Zeros](https://leetcode.com/problems/duplicate-zeros/discuss/314050/C-trial-and-error-practice-in-weekly-contest-141) C# trial and error practice in weekly contest 141
**Math easy level algorithms (solved 27/ 32, shared 12)**
[7. Reverse integer](https://leetcode.com/problems/reverse-integer/discuss/168151/C-Readable-code)
[9. Palindrome number](https://leetcode.com/problems/palindrome-number/discuss/169781/C-readable-code)
[168. Excel Sheet Column Title](https://leetcode.com/problems/excel-sheet-column-title/discuss/169793/C-readable-code)
[172: Factorial trailing zeroes](https://leetcode.com/problems/factorial-trailing-zeroes/discuss/169776/C-learn-from-failed-test-cases-three-times-until-success)
[367. Valid Perfect Square](https://leetcode.com/problems/valid-perfect-square/discuss/169789/C-binary-search-algorithm)
[400. Nth Digit](https://leetcode.com/problems/nth-digit/discuss/168055/C-code-written-after-6th-failed-submissions-copying-the-idea-from-the-discuss)
[415. Add Strings](https://leetcode.com/problems/add-strings/discuss/170832/C-my-first-practice-has-stack-overflow-issue) recursive version - memory limit exceeded
[415. Add Strings](https://leetcode.com/problems/add-strings/discuss/170839/C-iterative-solution-using-a-for-loop) Iterative solution - learn to use for loop creatively
[441. Arranging Coins](https://leetcode.com/problems/arranging-coins/discuss/169368/C-binary-search-algorithm)
[453. Minimum Moves to Equal Array Elements](https://leetcode.com/problems/minimum-moves-to-equal-array-elements/discuss/171932/C-I-found-the-algorithm-was-very-challenge-at-first)
[507. Perfect number](https://leetcode.com/problems/perfect-number/discuss/168146/C-learn-to-write-one)
[598. Range Addition II](https://leetcode.com/problems/range-addition-ii/discuss/171236/C-it-took-me-two-submissions)
[633. Sum of square numbers](https://leetcode.com/problems/sum-of-square-numbers/discuss/168097/C-my-favorite-algorithm)
[836. Rectangle Overlap](https://leetcode.com/problems/rectangle-overlap/discuss/171116/C-similar-to-interval-overlap-algorithm)
[868 binary gap](https://leetcode.com/problems/binary-gap/discuss/171946/C-my-readable-code-using-bit-manipulation-practice)
**String easy level algorithms** (solved 32, shared 15)
[14. Longest Common Prefix](https://leetcode.com/problems/longest-common-prefix/discuss/172755/C-readable-code)
[38. Count and Say](https://leetcode.com/problems/count-and-say/discuss/172733/C-readable-code)
[345. Reverse Vowels of a String](https://leetcode.com/problems/reverse-vowels-of-a-string/discuss/172723/C-my-most-favorite-algorithm) 1 upvote!
[434. Number of Segments in a String](https://leetcode.com/problems/number-of-segments-in-a-string/discuss/172735/C-quick-and-simple-solution)
[443. String Compression](https://leetcode.com/problems/string-compression/discuss/172745/C-use-count-variable-to-avoid-looking-backward-in-the-iteration-of-the-array) use count variable to avoid backward lookup
[443. String Compression](https://leetcode.com/problems/string-compression/discuss/172740/C-look-backward-and-look-forward-in-one-iteration-buggy-code) My idea -look ahead and backward
[443. String Compression](https://leetcode.com/problems/string-compression/discuss/172737/C-I-learn-how-to-write-an-elegant-solution-through-most-popular-post) Elegant solution to learn
[459. Repeated Substring Pattern](https://leetcode.com/problems/repeated-substring-pattern/discuss/172729/C-readable-code-with-some-pruning-ideas)
[680. Valid Palindrome II](https://leetcode.com/problems/valid-palindrome-ii/discuss/172748/C-it-took-me-one-hour-and-then-I-came-out-the-optimal-solution) Optimal solution
[680. Valid Palindrome II](https://leetcode.com/problems/valid-palindrome-ii/discuss/172751/C-418-460-test-cases-passed.) 418/460 test cases passed Time limit exceeded
[686. Repeated String Match](https://leetcode.com/problems/repeated-string-match/discuss/172718/C-memory-limit-exceeded-for-last-test-case) memory limit exceeded for last test case
[686. Repeated String Match](https://leetcode.com/problems/repeated-string-match/discuss/172721/C-last-test-case-memory-limit-exceeded) memory limit exceeded for last test case
[788. Rotated digits](https://leetcode.com/problems/rotated-digits/discuss/173810/C-dynamic-programming-solution) dynamic programming
[788. Rotated digits](https://leetcode.com/problems/rotated-digits/discuss/173236/C-using-two-hashset-to-help-lookup) using two hashset to help
[788. Rotated digits](https://leetcode.com/problems/rotated-digits/discuss/173248/C-write-an-elegant-solution-using-HashSet.IsSubsetOf-API) use HashSet.IsSubsetOf
[859. Buddy Strings](https://leetcode.com/problems/buddy-strings/discuss/172716/C-readable-code)
[893. Groups of Special-Equivalent Strings](https://leetcode.com/problems/groups-of-special-equivalent-strings/discuss/173803/C-using-counting-sort-since-string-contains-English-letters)
[925. Long pressed name](https://leetcode.com/problems/long-pressed-name/discuss/183954/C-more-than-20-minutes-to-write-in-the-contest) code written in contest
[925. Long pressed name](https://leetcode.com/problems/long-pressed-name/discuss/183969/C-quick-and-easy-just-learned-after-the-contest) Elegant solution learned after the contest
[929. Unique email addresses](https://leetcode.com/problems/unique-email-addresses/discuss/186739/C-readable-code)
[942. DI string match](https://leetcode.com/problems/di-string-match/discuss/194949/C-brute-force-solution-took-me-30-minutes-in-the-contest)
[1002. Find common characters](https://leetcode.com/problems/find-common-characters/discuss/247804/C-counting-sort-with-explanation)
[1071. Greatest Common Divisor of Strings](https://leetcode.com/problems/greatest-common-divisor-of-strings/discuss/305337/C-Brute-force-solution) brute force solution missed in weekly contest
**Hashtable easy level algorithm** (solved 25, shared 21)
[1. Two Sum](https://leetcode.com/problems/two-sum/discuss/177402/C-visited-elements-into-a-Hashtable)
[136. Single Number](https://leetcode.com/problems/single-number/discuss/177089/C-using-XOR) using XOR (1 upvote)
[204. Count Primes](https://leetcode.com/problems/count-primes/discuss/177375/C-remove-numbers-which-are-not-prime) verbose code
[204. Count Primes](https://leetcode.com/problems/count-primes/discuss/177386/C-as-simple-as-possible) elegant version
[205. Isomorphic Strings](https://leetcode.com/problems/isomorphic-strings/discuss/177401/C-readable-solution)
[219. Contains Duplicate II](https://leetcode.com/problems/contains-duplicate-ii/discuss/177389/C-readable-code)
[242. Valid Anagram](https://leetcode.com/problems/valid-anagram/discuss/177092/C-one-more-mistake-to-remind-me-to-work-on-easy-level-algorithm) One more mistake to remind me to work on easy level
[290. Word Pattern](https://leetcode.com/problems/word-pattern/discuss/177393/C-easy-level-algorithm-hashtable-practice)
[350. Intersection of Two Arrays II](https://leetcode.com/problems/intersection-of-two-arrays-ii/discuss/177105/C-two-index-techniques)
[389. Find the Difference](https://leetcode.com/problems/find-the-difference/discuss/177091/C-using-XOR) using XOR
[409. Longest Palindrome](https://leetcode.com/problems/longest-palindrome/discuss/177096/C-readable-code)
[438. Find All Anagrams in a String](https://leetcode.com/problems/find-all-anagrams-in-a-string/discuss/177395/C-using-counting-sort)
[447. Number of Boomerangs](https://leetcode.com/problems/number-of-boomerangs/discuss/177094/C-I-copied-the-idea-and-will-figure-out-the-reasoning-later)
[463. Island Perimeter](https://leetcode.com/problems/island-perimeter/discuss/177083/C-check-each-element-with-value-1-four-neighbors)
[500. Keyboard Row](https://leetcode.com/problems/keyboard-row/discuss/177079/C-My-first-success-submission-and-I-learned-one-user-case) do it myself
[500. Keyboard Row](https://leetcode.com/problems/keyboard-row/discuss/177078/C-Learn-to-write-using-hashSet-API-IsSubsetOf) use HashSet API IsSubsetOf
[575. Distribute Candies](https://leetcode.com/problems/distribute-candies/discuss/177087/C-I-need-to-work-on-my-reading-skills) Need to work on my reading skills
[594. Longest Harmonious Subsequence](https://leetcode.com/problems/longest-harmonious-subsequence/discuss/177418/C-readable-code)
[599. Minimum Index Sum of Two Lists](https://leetcode.com/problems/minimum-index-sum-of-two-lists/discuss/177101/C-easy-level-algorithm-I-succeeded-second-submission)
[645. Set Mismatch](https://leetcode.com/problems/set-mismatch/discuss/177410/C-my-naive-solution) first submission - XOR
[645. Set Mismatch](https://leetcode.com/problems/set-mismatch/discuss/177413/C-use-xor-two-places) elegant one using XOR two places
[645. Set Mismatch](https://leetcode.com/problems/set-mismatch/discuss/177415/C-learn-a-new-idea) use bit manipulation trick
[705. Design HashSet](https://leetcode.com/problems/design-hashset/discuss/177405/C-naive-thinking-using-space-to-trade-O(1)-time-complexity-for-Contains-API)
[706. Design HashMap](https://leetcode.com/problems/design-hashmap/discuss/177103/C-HashMap-I-think-O(1)-time-complexity-for-Get(int-key)-is-important-feature) Use fix size of space determined by upper bound
[720. Longest Word in Dictionary](https://leetcode.com/problems/longest-word-in-dictionary/discuss/175220/C-quick-and-easy-to-write-solution-using-HashSet) use hashset
[720. Longest Word in Dictionary](https://leetcode.com/problems/longest-word-in-dictionary/discuss/175226/C-solution-using-Trie) use Trie data structure
[720. Longest Word in Dictionary](https://leetcode.com/problems/longest-word-in-dictionary/discuss/175231/C-solution-using-Trie) use Trie data structure
[720. Longest Word in Dictionary](https://leetcode.com/problems/longest-word-in-dictionary/discuss/175780/C-use-a-queue-to-solve-the-problem) use Queue data structure
[720. Longest Word in Dictionary](https://leetcode.com/problems/longest-word-in-dictionary/discuss/175781/C-use-recursive-function) use recursive function
**Easy level stack algorithm (solved 7/7, shared 7)**
[20. Valid parentheses](https://leetcode.com/problems/valid-parentheses/discuss/183096/C-using-stack)
[155. Min Stack](https://leetcode.com/problems/min-stack/discuss/178131/C-it-was-very-challenging-and-I-got-help-from-the-discuss)
[225. Implement stack using queues](https://leetcode.com/problems/implement-stack-using-queues/discuss/182846/C-using-two-queues)
[232. Implement queue using stacks](https://leetcode.com/problems/implement-queue-using-stacks/discuss/182843/C-using-two-stacks-but-failed-a-few-times)
[496. Next great element II](https://leetcode.com/problems/next-greater-element-i/discuss/182848/C-using-stack-keep-simple-only-save-smaller-numbers-into-the-stack)
[682. Baseball game](https://leetcode.com/problems/baseball-game/discuss/182850/C-using-stack)
[844. Backspace string compare](https://leetcode.com/problems/backspace-string-compare/discuss/183094/C-using-stack)
**Easy level backtracking**
[401. Binary watch](https://leetcode.com/problems/binary-watch/discuss/185205/C-backtracking-and-bit-manipulation) bit manipulation and recursive
[401. Binary watch](https://leetcode.com/problems/binary-watch/discuss/185212/C-readable-code-but-kind-of-verbose) recursive and kind of verbose
[784. Letter case permutation](https://leetcode.com/problems/letter-case-permutation/discuss/188115/C-easy-level-backtracking-algorithm) backtracking algorithm iterative solution
[784. Letter case permutation](https://leetcode.com/problems/letter-case-permutation/discuss/188117/C-recursive-solution) recursive solution
**Easy level linked list**
[21. Merge two sorted lists](https://leetcode.com/problems/merge-two-sorted-lists/discuss/188108/C-recursive-solution) problem statement?
[83. Remove duplicates from sorted list](https://leetcode.com/problems/remove-duplicates-from-sorted-list/discuss/187971/C-the-experience-is-so-memorable) memorable experience
[141. Linked list cycle](https://leetcode.com/problems/linked-list-cycle/discuss/187972/C-two-pointers-will-meet-one-step-a-time-two-steps-a-time) two pointers will meet, one step a time/ two steps a time
[160. Intersection of two linked lists](https://leetcode.com/problems/intersection-of-two-linked-lists/discuss/187969/C-using-length-comparison-of-two-linked-lists) length comparison
[203. Remove linked list elements](https://leetcode.com/problems/remove-linked-list-elements/discuss/188112/C-an-easy-level-linked-list-algorithm)
[206. Reverse linked list](https://leetcode.com/problems/reverse-linked-list/discuss/187966/C-It-is-fun-to-write-an-iterative-solution-but-too-complicated)
[234. Palindrome linked list](https://leetcode.com/problems/palindrome-linked-list/discuss/188111/C-linked-list-algorithm-is-a-must-to-practice) July 2018 for phone screen
[237. Delete a node in a linked list](https://leetcode.com/problems/delete-node-in-a-linked-list/discuss/187975/C-I-could-not-come-out-the-idea-by-myself-first-practice) Fail to come out idea by myself
[707. Design linked list](https://leetcode.com/problems/design-linked-list/discuss/186426/C-it-takes-me-an-hour-to-make-it-bug-free)
[876. Middle of the linked list](https://leetcode.com/problems/middle-of-the-linked-list/discuss/186334/C-easy-level-linked-list-algorithm)
**Easy level unspecified**
[970. Powerful Integers](https://leetcode.com/problems/powerful-integers/discuss/214253/C-solution-written-after-the-contest)
[994 Rotten oranges](https://leetcode.com/problems/rotting-oranges/discuss/238665/C-Check-fresh-orange-nodes-by-four-neighbors-all-the-time)
**Medium level linked list**
[19. Remove Nth node from end of the list](https://leetcode.com/problems/remove-nth-node-from-end-of-list/discuss/188621/C-readable-code)
[24. Swap nodes in pairs](https://leetcode.com/problems/swap-nodes-in-pairs/discuss/188769/C-readable-code-using-dummy-head-for-linked-list)
[82. Remove Duplicates from Sorted List II](https://leetcode.com/problems/remove-duplicates-from-sorted-list-ii/discuss/190883/C-I-failed-first-two-submissions-and-then-learned-lessons)
[86. Partition list](https://leetcode.com/problems/partition-list/discuss/190880/C-construct-two-linked-list-first-with-smaller-than-given-value-or-not-smaller) dummy heads and two lists
[92. Reverse linked list II](https://leetcode.com/problems/reverse-linked-list-ii/discuss/188649/C-a-recursive-way-to-reverse-a-linked-list)
[138. Copy list with random pointer](https://leetcode.com/problems/copy-list-with-random-pointer/discuss/187909/C-The-classical-linked-list-algorithm) The elegant solution
[143. Reorder the list](https://leetcode.com/problems/reorder-list/discuss/188278/C-it-took-me-over-40-minutes)
[147. Insertion sort list](https://leetcode.com/problems/insertion-sort-list/discuss/188287/C-hard-to-write-and-the-code-is-readable) hard to write but is readable
[148. Sort the list](https://leetcode.com/problems/sort-list/discuss/190884/C-merge-sort-with-some-detail) Merge sort
[328. Odd even linked list](https://leetcode.com/problems/odd-even-linked-list/discuss/188654/C-learn-one-edge-case-in-the-practice)
[445. Add two numbers II](https://leetcode.com/problems/add-two-numbers-ii/discuss/188283/C-using-stack-to-help-calculation-of-addition-of-two-numbers)
[725. Split Linked List in Parts](https://leetcode.com/problems/split-linked-list-in-parts/discuss/190876/C-my-readable-code) Failed more than three submissions
[817. Linked list components](https://leetcode.com/problems/linked-list-components/discuss/187968/C-Linked-list-algorithm-using-HashSet) using hashset
**Medium level (solved 53, shared 20)**
[18. 4 Sum](https://leetcode.com/problems/4sum/discuss/128024/Time-complexity-O(N2)-space-complexity-O(N2)-use-visited-elements-in-the-array-to-build-hashmap) 1 upvote
[56. Merge intervals](https://leetcode.com/problems/trapping-rain-water/discuss/325559/C-First-success-submission-back-in-May-2018) C# First success submission back in May 2017
[56. Merge intervals](https://leetcode.com/problems/merge-intervals/discuss/325614/C-IComparer-class-definition-practice-in-February-2017) C# IComparer class definition practice in February 2017
[63. Unique Paths II](https://leetcode.com/problems/unique-paths-ii/discuss/223863/C-dynamic-programming) dynamic programming
[Leetcode 75: Sort Colors](https://leetcode.com/problems/sort-colors/discuss/278391/C-Work-on-test-case-2-0-1-2-and-then-figure-out-the-idea) the optimal time complexity solution
[91. Decode Ways](https://leetcode.com/problems/decode-ways/discuss/285427/C-dynamic-programming-written-in-2018) Code written in 2018
[91. Decode Ways](https://leetcode.com/problems/decode-ways/discuss/285424/C-dynamic-programming-one-more-practice) Code written in 2019
[109. Convert sorted list to binary search tree](https://leetcode.com/problems/convert-sorted-list-to-binary-search-tree/discuss/169375/C-bottom-up-approach-by-iterating-the-linked-list-node-one-by-one)
[127. Word Ladder](https://leetcode.com/problems/word-ladder/discuss/325683/C-BFS-practice-in-2019) C# BFS practice in 2019
[127. Word Ladder](https://leetcode.com/problems/word-ladder/discuss/325658/C-BFS-practice-back-I-in-June-2016) C# BFS practice back I in June 2016
[127. Word Ladder](https://leetcode.com/problems/word-ladder/discuss/325668/C-BFS-practice-back-II-in-June-2016) C# BFS practice back II in June 2016
[130. Surrounded Regions](https://gist.github.com/jianminchen/ff3384e4f572095416130702bb1e25e0) Will share later
[241 Different Ways To Add Parentheses](https://leetcode.com/problems/different-ways-to-add-parentheses/discuss/300481/C-brute-force-solution-with-memoization-practice-in-2019) practice in 2019 May - a Google interview algorithm
[399. Evaluate Division](https://leetcode.com/problems/evaluate-division/discuss/298514/C-apply-depth-first-search-and-also-backtracking-technique) learn from C# code written in 2017
[402. Remove K digits](https://leetcode.com/problems/remove-k-digits/discuss/279635/C-easy-to-write-using-stack) optimal solution using stack
[402. Remove K digits](https://leetcode.com/problems/remove-k-digits/discuss/279637/C-brute-force-solution-time-consuming-and-struggling) brute force solution
[402. Remove K Digits](https://leetcode.com/problems/remove-k-digits/discuss/321532/C-Ideas-I-practice-in-2019) C# Ideas I practice in 2019
[402. Remove K Digits](https://leetcode.com/problems/remove-k-digits/discuss/321644/C-slide-window-and-bucket-sort-practice-in-2019) C# slide window and bucket sort practice in 2019
[684. Redundant Connection](https://leetcode.com/problems/redundant-connection/discuss/158908/C-solution-using-union-find-algorithm-implemented-using-array) union find using array
[684. Redundant Connection](https://leetcode.com/problems/redundant-connection/discuss/158915/C-solution-using-disjoint-set-algorithm-to-solve-using-DictionarylessInt-HashSetlessintgreatergreater) using Dictionary>
[785. Is Graph Bipartite?](https://leetcode.com/problems/is-graph-bipartite/discuss/296630/C-depth-first-search-with-explanation) Run depth first search to visit all nodes and edges in the graph
[785. Is Graph Bipartite?](https://leetcode.com/problems/is-graph-bipartite/discuss/296637/C-union-find-algorithm-approach-with-detail-thinking-process) union find algorithm
[915. Partition Array into Disjoint Intervals](https://leetcode.com/problems/partition-array-into-disjoint-intervals/discuss/175949/C-two-iterations-of-the-array-O(N)-solution) use three iterations
[915. Partition Array into Disjoint Intervals](http://www.leetcode.com/problems/partition-array-into-disjoint-intervals/discuss/175945/Java-one-pass-7-lines/181376) one pass idea discuss
[916. Word Subsets](https://leetcode.com/problems/word-subsets/discuss/175937/C-using-counting-sort) using counting sort
[916. Word Subsets](http://www.leetcode.com/problems/word-subsets/discuss/175854/C++JavaPython-Straight-Forward/181357) discuss
[918. Maximum Sum Circular Subarray](https://leetcode.com/problems/maximum-sum-circular-subarray/discuss/179098/C-pass-98108-but-failed-to-work-out-the-edge-case-in-the-contest) pass 98/108, in the contest
[918. Maximum Sum Circular Subarray](https://leetcode.com/problems/maximum-sum-circular-subarray/discuss/179156/C-submission-after-the-contest) after the contest, working code
[919. Complete Binary Tree Inserter](https://leetcode.com/problems/complete-binary-tree-inserter/discuss/179187/C-O(1)-for-insert-and-the-idea-is-learned-after-the-contest) O(1) insert
[919. Complete Binary Tree Inserter](https://leetcode.com/problems/complete-binary-tree-inserter/discuss/179242/C-idea-using-Queue-learned-after-the-contest) Using Queue
[919. Complete Binary Tree Inserter](https://leetcode.com/problems/complete-binary-tree-inserter/discuss/179242/C-idea-using-Queue-learned-after-the-contest) Using Queue
[923. 3Sum With Multiplicity](https://leetcode.com/problems/3sum-with-multiplicity/discuss/181167/C-It-actually-took-me-exactly-one-hour-and-also-the-sixth-submission-passed-online-judge)
[923. 3Sum With Multiplicity](https://leetcode.com/problems/3sum-with-multiplicity/discuss/182417/C-dynamic-programming-is-quick-and-easy-once-you-master-it) dynamic programming solution (1 upvote on Oct. 18, 2018; 3 upvotes Dec.18, 2018)
[926. Flip string to monotone increasing](https://leetcode.com/problems/flip-string-to-monotone-increasing/discuss/184312/C-a-solution-learned-after-the-contest)
[944. Delete columns to make sorted](https://leetcode.com/problems/delete-columns-to-make-sorted/discuss/194943/C-I-learned-the-lesson-not-to-play-online-judge-in-the-contest)
[945. Minimum Increment to Make Array Unique](https://leetcode.com/problems/minimum-increment-to-make-array-unique/discuss/197791/C-hard-than-I-thought-in-the-contest)
[946. Validate Stack Sequences](https://leetcode.com/problems/validate-stack-sequences/discuss/197797/C-my-tip-is-to-identify-minimum-use-cases)
[947. Most Stones Removed with Same Row or Column](https://leetcode.com/problems/most-stones-removed-with-same-row-or-column/discuss/267666/C-Use-tree-structure-to-implement-a-disjoint-set) Partial of union find algorithm
[947. Most Stones Removed with Same Row or Column](https://leetcode.com/problems/most-stones-removed-with-same-row-or-column/discuss/267677/C-apply-depth-first-search-in-a-graph) Apply depth first search in a graph
[947. Most Stones Removed with Same Row or Column]() Practice 3
[948. Bag of Tokens](https://leetcode.com/problems/bag-of-tokens/discuss/197803/C-the-greedy-algorithm-is-so-challenging)
[958. Check Completeness of a Binary Tree](https://leetcode.com/problems/check-completeness-of-a-binary-tree/discuss/206186/C-preorder-traversal-and-play-with-use-case-related-to-leaf-nodes)
[967. Numbers With Same Consecutive Differences](https://leetcode.com/problems/numbers-with-same-consecutive-differences/discuss/211222/C-depth-first-search)
[969. Pancake Sorting](https://leetcode.com/problems/pancake-sorting/discuss/214256/C-find-maximum-one-in-the-array-and-then-flip-it-to-the-first-one-and-then-flip-to-last-one)
[974. Subarray Sums Divisible by K](https://leetcode.com/problems/subarray-sums-divisible-by-k/discuss/218049/C-calculate-prefix-sum-and-save-it-using-residue-of-module-K-as-key)
[978. Longest Turbulent Subarray](https://leetcode.com/problems/longest-turbulent-subarray/discuss/223315/C-readable-code) solution written in contest
[1020. Number of Enclaves](https://leetcode.com/problems/number-of-enclaves/discuss/265620/C-Run-breadth-first-search-from-all-numbers-1-on-border-of-matrix) written in contest 130
[1023. Camelcase Matching](https://leetcode.com/problems/camelcase-matching/discuss/301145/C-My-practice-written-in-weekly-contest-131) written in the contest 131
[1023. Camelcase Matching](https://leetcode.com/problems/camelcase-matching/discuss/301169/C-practice-review-after-the-contest) solution learned after the contest
[1024. Video stitiching](https://leetcode.com/problems/video-stitching/discuss/272976/C-greedy-algorithm-only-one-iteration-on-sorted-array) greedy algorithm on sorted array
[1031. Maximum Sum of Two Non-Overlapping Subarrays](http://juliachencoding.blogspot.com/2019/04/1031-maximum-sum-of-two-non-overlapping.html) painful experience documented in my own blog first
[1034. Coloring A Border](https://leetcode.com/problems/coloring-a-border/discuss/282950/C-using-two-negative-values-to-mark-visited-1-for-the-mark-to-change-color) using DFS, mark visited and color change
[1035. Uncrossed Lines](https://leetcode.com/problems/uncrossed-lines/discuss/282915/c-dynamic-programming-solution-readable-code) dynamic programming solution using List
[1073. Adding Two Negabinary Numbers](https://leetcode.com/problems/adding-two-negabinary-numbers/discuss/305019/C-so-many-trial-and-error-in-my-first-practice) C# so many trial and error in my first practice
[1073. Adding Two Negabinary Numbers](https://leetcode.com/problems/adding-two-negabinary-numbers/discuss/305079/C-minor-change-using-stack-second-practice-in-2019) Use stack to remove leading zero
[1073. Adding Two Negabinary Numbers](https://leetcode.com/problems/adding-two-negabinary-numbers/discuss/305095/C-Using-stack-and-a-while-loop-to-reduce-sum-to-0-or-1-with-carries) learn to use next two bit to carry
[1091. Shortest Path in Binary Matrix](https://leetcode.com/problems/shortest-path-in-binary-matrix/discuss/313959/C-breadth-first-search-practice-in-2019) C# breadth first search practice in 2019
[1090. Largest Values From Labels](https://leetcode.com/problems/largest-values-from-labels/discuss/313984/C-Try-to-solve-using-greedy-algorithm-practice-in-2019) C# Try to solve using greedy algorithm practice in 2019
**Medium level tree algorithms (solved 37, total 39, shared 29)**
[94. Binary Tree Inorder Traversal](https://leetcode.com/problems/binary-tree-inorder-traversal/discuss/177724/C-solution-using-stack) using stack
[94. Binary Tree Inorder Traversal](https://leetcode.com/problems/binary-tree-inorder-traversal/discuss/177726/C-using-recursive-function-to-solve) use recursive function
[95. Unique Binary Search Trees II](https://leetcode.com/problems/unique-binary-search-trees-ii/discuss/177728/C-solution-to-review-by-myself)
[96. Unique Binary Search Trees](https://leetcode.com/problems/unique-binary-search-trees/discuss/195825/C-brute-force-all-possible-the-root-node's-values)
[98. Validate Binary Search Tree](https://leetcode.com/problems/validate-binary-search-tree/discuss/177723/C-a-solution-to-review)
[102. Binary Tree Level Order Traversal](https://leetcode.com/problems/binary-tree-level-order-traversal/discuss/177739/C-solution-written-in-2015-August) submitted in 2015
[102. Binary Tree Level Order Traversal](https://leetcode.com/problems/binary-tree-level-order-traversal/discuss/177740/C-solution-to-review-written-in-May-2018) submitted in 2018
[105. Construct Binary Tree from Preorder and Inorder Traversal](https://leetcode.com/problems/construct-binary-tree-from-preorder-and-inorder-traversal/discuss/177733/C-solution-to-review-by-myself)
[106. Construct Binary Tree from Inorder and Postorder Traversal](https://leetcode.com/problems/construct-binary-tree-from-inorder-and-postorder-traversal/discuss/177731/C-solution-to-review-by-myself)
[113. Path Sum II](https://leetcode.com/problems/path-sum-ii/discuss/177746/C-solution-to-review-by-myself)
[114. Flatten Binary Tree to Linked List](https://leetcode.com/problems/flatten-binary-tree-to-linked-list/discuss/177750/C-time-to-review-my-submission-in-2017-July)
[129. Sum Root to Leaf Numbers](https://leetcode.com/problems/sum-root-to-leaf-numbers/discuss/177735/C-solution-to-review-by-myself)
[173. Binary Search Tree Iterator](https://leetcode.com/problems/binary-search-tree-iterator/discuss/201565/C-design-for-requirement-space-O(H)-H-is-height-of-tree)
[199. Binary Tree Right Side View](https://leetcode.com/problems/binary-tree-right-side-view/discuss/195820/C-level-by-level-using-queue-to-traverse-the-tree)
[222. Count Complete Tree Nodes](https://leetcode.com/problems/count-complete-tree-nodes/discuss/191290/C-optimal-time-complexity-O(h-*-h)-h-is-the-height-of-tree)(1 upvote on Dec. 18, 2018)
[230. Kth Smallest Element in a BST]()
[235. Lowest Common Ancestor of a Binary Tree](https://leetcode.com/problems/lowest-common-ancestor-of-a-binary-search-tree/discuss/288334/C-binary-search-O(logN)-algorithm) binary search in BST
[236. Lowest Common Ancestor of a Binary Search Tree](https://leetcode.com/problems/lowest-common-ancestor-of-a-binary-tree/discuss/288289/C-time-out-need-help-using-string-preorder-traversal) time out using string, need help
[236. Lowest Common Ancestor of a Binary Search Tree](https://leetcode.com/problems/lowest-common-ancestor-of-a-binary-tree/discuss/288284/C-time-out-need-help-using-List-preorder-traversal) time out using list, need help
[236. Lowest Common Ancestor of a Binary Search Tree](https://leetcode.com/problems/lowest-common-ancestor-of-a-binary-tree/discuss/288320/C-Work-on-the-algorithm-in-mock-interview) optimal solution bottom up with reasoning
[236. Lowest Common Ancestor of a Binary Search Tree](https://leetcode.com/problems/lowest-common-ancestor-of-a-binary-tree/discuss/290650/C-various-topics-covered-through-2019-practice) various topics covered through 2019 practice
[337. House Robber III](https://leetcode.com/problems/house-robber-iii/discuss/177741/C-seek-the-idea-to-improve-my-practice)
[449. Serialize and Deserialize BST](https://leetcode.com/problems/serialize-and-deserialize-bst/discuss/201567/C-using-level-order-traversal)
[450. Delete Node in a BST](https://leetcode.com/problems/delete-node-in-a-bst/discuss/191303/C-subproblem-is-to-find-left-subtree's-maximum-in-BST)
[652. Find Duplicate Subtrees](https://leetcode.com/problems/find-duplicate-subtrees/discuss/201570/C-post-order-traversal-and-use-serialized-string-to-help)
[662. Maximum Width of Binary Tree](https://leetcode.com/problems/maximum-width-of-binary-tree/discuss/191320/C-Good-practice-using-Queue)
[654. Maximum binary tree](https://leetcode.com/problems/maximum-binary-tree/discuss/196905/C-sharing-with-discussion-about-base-cases)
[684. Redundant Connection](https://leetcode.com/problems/redundant-connection/discuss/158908/C-solution-using-union-find-algorithm-implemented-using-array) union find using array
[684. Redundant Connection](https://leetcode.com/problems/redundant-connection/discuss/158915/C-solution-using-disjoint-set-algorithm-to-solve-using-DictionarylessInt-HashSetlessintgreatergreater) using Dictionary>
[701 Insert into a binary search tree](https://leetcode.com/problems/insert-into-a-binary-search-tree/discuss/196909/C-ask-when-the-inserted-value-will-be-a-root-node)
[814 binary tree pruning](https://leetcode.com/problems/binary-tree-pruning/discuss/196911/C-two-use-cases-when-the-node-with-value-0-to-be-deleted)
[863. All Nodes Distance K in Binary Tree](https://leetcode.com/problems/all-nodes-distance-k-in-binary-tree/discuss/196517/C-it-is-important-to-know-how-to-construct-a-graph-using-a-hashmap)
[958. Check Completeness of a Binary Tree](https://leetcode.com/problems/check-completeness-of-a-binary-tree/discuss/206186/C-preorder-traversal-and-play-with-use-case-related-to-leaf-nodes)
[958. Check Completeness of a Binary Tree](https://leetcode.com/problems/check-completeness-of-a-binary-tree/discuss/207326/C-Give-node-an-index-based-on-parent-index-and-use-the-sum-to-check-completeness)
[958. Check Completeness of a Binary Tree](https://leetcode.com/problems/check-completeness-of-a-binary-tree/discuss/207326/C-Give-node-an-index-based-on-parent-index-and-use-the-sum-to-check-completeness)Use index sum to check completeness
[971. Flip Binary Tree To Match Preorder Traversal](https://leetcode.com/problems/flip-binary-tree-to-match-preorder-traversal/discuss/214317/C-I-finally-made-it-work-with-13-submissions)
[971. Flip Binary Tree To Match Preorder Traversal](https://leetcode.com/problems/flip-binary-tree-to-match-preorder-traversal/discuss/216247/C-How-to-push-myself-to-write-an-elegant-solution) How to push myself to write an elegant solution?
[987. Vertical Order Traversal of a Binary Tree](https://leetcode.com/problems/vertical-order-traversal-of-a-binary-tree/discuss/304946/C-SortDictionary-SortedList-SortedSet-all-are-used-in-one-solution) study code from a casual coder
[987. Vertical Order Traversal of a Binary Tree](https://leetcode.com/problems/vertical-order-traversal-of-a-binary-tree/discuss/231134/C-leetcode-online-judge-for-C-test-case-is-problematic) C# leetcode online judge for C# test case is problematic
[998. Maximum binary tree II](https://leetcode.com/problems/maximum-binary-tree-ii/discuss/243011/C-recursive-solution)
[1008. Construct a BST using preorder](https://leetcode.com/problems/construct-binary-search-tree-from-preorder-traversal/discuss/253837/C-using-extra-space-to-avoid-all-possible-bugs) Using extra space to avoid bugs
[1008. Construct a BST using preorder](https://leetcode.com/problems/construct-binary-search-tree-from-preorder-traversal/discuss/253854/C-code-written-in-weekly-contest-127) C# code written in weekly contest
[1008. Construct a BST using preorder](https://leetcode.com/problems/construct-binary-search-tree-from-preorder-traversal/discuss/253858/C-How-to-write-elegant-solution) How to write an elegant solution>
[1008. Construct a BST using preorder](https://github.com/jianminchen/Leetcode_Julia/tree/master/By%20Algorithms/Leetcode%201008%20Construct%20BST%20from%20preorder%20traversal) Write a linear time complexity solution - optimal time
[1038. Binary Search Tree to Greater Sum Tree](https://leetcode.com/problems/binary-search-tree-to-greater-sum-tree/discuss/287084/C-how-two-small-mistakes-drag-down-my-performance-from-10-minutes-to-50-minutes) How two small mistakes drag down my performance to 50 minutes
**Medium level stack algorithms (solved 2, total 18, shared 2)**
[503. Next Greater Element II](https://leetcode.com/problems/next-greater-element-ii/discuss/216748/C-work-on-O(N)-time-complexity-solution) Work on optimal time complexity O(N) solution
[739. Daily Temperatures](https://leetcode.com/problems/daily-temperatures/discuss/202624/C-using-stack-to-solve-the-algorithm)
[856. Score of Parentheses](https://leetcode.com/problems/score-of-parentheses/discuss/202627/C-using-stack-to-solve-the-problem)
[1003. Check if word is valid after substitutions](https://leetcode.com/problems/check-if-word-is-valid-after-substitutions/discuss/247795/C-using-stack-with-explanation)
[1019. Next Greater Node In Linked List](https://leetcode.com/problems/next-greater-node-in-linked-list/discuss/265629/C-Use-stack-and-keep-numbers-in-stack-non-increasing-order) written in weekly contest 130
**Medium level union find algorithm**
[721. Accounts merge](https://leetcode.com/problems/accounts-merge/discuss/264069/C-Customize-a-union-find-algorithm) Union find algorithm
[1202. Smallest String With Swaps
](https://leetcode.com/problems/smallest-string-with-swaps/discuss/388924/C-union-find-algorithm-practice-in-2019)C# union find algorithm practice in 2019
**Hard level (solved 33, shared 5)**
[37. Sudoku Solver](https://leetcode.com/problems/sudoku-solver/discuss/177442/C-practice-makes-perfect)
[37. Sudoku Solver](https://leetcode.com/problems/sudoku-solver/discuss/217272/C-One-more-elegant-solution) One more elegant solution
[42. Trapping Rain Water](https://leetcode.com/problems/trapping-rain-water/discuss/325559/C-First-success-submission-back-in-May-2018) C# First success submission back in May 2018
[76. Minimum Window Substring](https://leetcode.com/problems/minimum-window-substring/discuss/177462/C-Learn-one-thing-a-time) One thing a time
[85. Maximal Rectangle](https://leetcode.com/problems/maximal-rectangle/discuss/177463/C-hard-level-algorithm-tough-learning-experience)
July 3, 2019
[97. Interleaving String](https://leetcode.com/problems/interleaving-string/discuss/326347/C-dynamic-programming-practice-in-August-2018) C# dynamic programming practice in August, 2018
[239. Sliding Window Maximum](https://leetcode.com/problems/sliding-window-maximum/discuss/170002/C-optimal-solution-using-dequeue) optimal solution using LinkedList
[239. Sliding Window Maximum](https://github.com/jianminchen/Leetcode_Julia/tree/master/By%20Algorithms/Leetcode%20239%20Sliding%20window%20maximum) All submissions, SortedSet, timeout
[297. Serialize and Deserialize Binary Tree](https://leetcode.com/problems/serialize-and-deserialize-binary-tree/discuss/291891/C-Level-order-traversal-serialize-and-level-order-deserialize) First practice in December, 2018
[301. Remove Invalid Parentheses](https://leetcode.com/problems/remove-invalid-parentheses/discuss/75027/Easy-Short-Concise-and-Fast-Java-DFS-3-ms-solution/78052) 1 upvotes!
[301. Remove Invalid Parentheses](https://leetcode.com/problems/remove-invalid-parentheses/discuss/75034/Easiest-9ms-Java-Solution/78192) 3 upvotes
[301. Remove Invalid Parentheses](https://leetcode.com/problems/remove-invalid-parentheses/discuss/158584/Story-first-code-follows)
[LeetCode 675. Cut Off Trees for Golf Event](http://juliachencoding.blogspot.com/2019/04/leetcode-675-cut-off-trees-for-golf.html) code written in one hour mock interview passed first half test cases
[329. Longest Increasing Path in a Matrix](https://leetcode.com/problems/longest-increasing-path-in-a-matrix/discuss/298133/C-depth-first-search-and-memoization-classical-algorithm) C# depth first search and memoization classical algorithm
[927. Three equal parts](https://leetcode.com/problems/three-equal-parts/discuss/183912/C-It-is-hard-level-algorithm-and-I-could-not-make-it-in-the-contest) Take me more than one hour (1 upvote Nov. 2, 2018)
[980. Unique Paths III](https://leetcode.com/problems/unique-paths-iii/discuss/223861/C-backtracking-algorithm) backtracking algorithm
[996. Number of squareful arrays](https://leetcode.com/problems/number-of-squareful-arrays/discuss/244279/C-backtracking-and-depth-first-search)
[996. Number of squareful arrays](https://leetcode.com/problems/number-of-squareful-arrays/discuss/245490/C-depth-first-search-and-back-tracking-with-explanation)Learn from a casual coder, 3 upvotes(May 1, 2019)
[1000. minimum cost to merge stones](https://leetcode.com/problems/minimum-cost-to-merge-stones/discuss/250633/C-top-down-dynamic-programming-solution) top down dynamic programming - memoization
[1000. minimum cost to merge stones](https://leetcode.com/problems/minimum-cost-to-merge-stones/discuss/250970/C-dynamic-programming-solution-with-explanations) dynamic programming - bottom up - How to hack one?
[1015. None repeat digit number count](https://leetcode.com/problems/numbers-with-repeated-digits/discuss/259667/C-Study-code-from-ranking-No.-1-in-weekly-contest-128) Study code from ranking No. 1 in weekly contest 128
[1015. None repeat digit number count](https://leetcode.com/problems/numbers-with-repeated-digits/discuss/259737/C-standard-depth-first-search-with-back-tracking) standard depth first search back tracking technique
[1074. Number of Submatrices That Sum to Target](https://leetcode.com/problems/number-of-submatrices-that-sum-to-target/discuss/305264/C-optimal-time-complexity-with-preprocessing-practice-in-2019) write code first and then figure out what is the idea
**Hard level tree algorithms (solved 5 out 6 unlocked algorithms, shared 1)**
[145. Binary Tree Postorder Traversal](https://leetcode.com/problems/binary-tree-postorder-traversal/discuss/201561/C-using-stack-to-maintain-the-order-and-brute-force-each-node-as-the-root-node) My practice, using hashset to mark visited
[145. Binary Tree Postorder Traversal](https://leetcode.com/problems/binary-tree-postorder-traversal/discuss/203070/Python-find-first-node-in-the-post-order-and-then-make-it-repeatable) idea I learned as interviewer
[145. Binary Tree Postorder Traversal](https://leetcode.com/problems/binary-tree-postorder-traversal/discuss/219630/C-Road-to-master-this-tree-algorithm) idea I learned from Taras comment from a casual coder blog
[146. LRU Cache](https://leetcode.com/problems/lru-cache/discuss/301109/C-Double-Linked-List-and-HashMap-practice-1218-test-case-passed-May-2019) May 2019 pass 12/ 18 test cases
March 21, 2019
[1012. Numbers With Repeated Digits](https://leetcode.com/problems/numbers-with-repeated-digits/discuss/259667/C-Study-code-from-ranking-No.-1-in-weekly-contest-128) C# Study code from ranking No. 1 in weekly contest 128 (4 upvotes up to Oct. 8, 2019)
[1012. Numbers With Repeated Digits](https://leetcode.com/problems/numbers-with-repeated-digits/discuss/259737/C-standard-depth-first-search-with-back-tracking) C# standard depth first search with back tracking (1 upvotes up to Oct. 8, 2019)
**My favorite algorithms**
**Union Find algorithm**
[947 remove stone](https://github.com/jianminchen/100-hard-level-algorithms-2018-summer-campaign/tree/master/union%20join%20algorithm/Leetcode%20947%20Remove%20stones) I spent one week in 2019 March on this union find algorithm. Here are the folder to contain my code study.
[947 remove stone](https://leetcode.com/problems/most-stones-removed-with-same-row-or-column/discuss/267666/C-Use-partial-of-union-find-algorithm-to-solve-the-problem) C# Use partial of union find algorithm to solve the problem
[947 remove stone](https://leetcode.com/problems/most-stones-removed-with-same-row-or-column/discuss/267677/C-apply-depth-first-search-in-a-graph) C# apply depth first search in a graph
I will spend time to share those solutions on Leetcode.com one by one.
Please wait.
**My own blogs**
[Leetcode 437](http://juliachencoding.blogspot.com/2018/08/leetcode-437-path-sum-iii.html)
[Leetcode 501](http://juliachencoding.blogspot.com/2018/08/leetcode-501-find-mode-in-binary-search.html)
June 8 - 10, 2019
[1079. Letter Tile Possibilities](https://leetcode.com/problems/letter-tile-possibilities/discuss/309054/C-various-topics-covered-in-my-practice-in-2019) C# various topics covered in my practice in 2019
[1079. Letter Tile Possibilities](https://leetcode.com/problems/letter-tile-possibilities/discuss/308475/C-learn-to-write-a-solution-after-the-weekly-contest-on-June-8-2019) C# learn to write a solution after the weekly contest on June 8, 2019
[1079. Letter Tile Possibilities](https://leetcode.com/problems/letter-tile-possibilities/discuss/308895/C-counting-sort-and-depth-first-search-to-count-unique-substrings-practice-in-2019) C# counting sort and depth first search to count unique substrings practice in 2019
[1079. Letter Tile Possibilities](https://leetcode.com/problems/letter-tile-possibilities/discuss/308882/C-case-study-%22AAB%22-to-figure-out-the-solution-in-2019) C# case study "AAB" to figure out the solution in 2019
[1081. Smallest Subsequence of Distinct Characters](https://leetcode.com/problems/smallest-subsequence-of-distinct-characters/discuss/308474/c-using-stack-and-also-counting-sort) C# using stack and also counting sort
[1080. Insufficient Nodes in Root to Leaf Paths](https://leetcode.com/problems/insufficient-nodes-in-root-to-leaf-paths/discuss/308356/C-code-could-not-pass-large-test-case-in-weekly-contest) C# code could not pass large test case in weekly contest
[1078. Occurrences After Bigram](https://leetcode.com/problems/occurrences-after-bigram/discuss/308360/C-One-iteration-of-parsed-words) C# One iteration of parsed words
June 17, 2019
[1091. Shortest Path in Binary Matrix](https://leetcode.com/problems/shortest-path-in-binary-matrix/discuss/313959/C-breadth-first-search-practice-in-2019) C# breadth first search practice in 2019
[1090. Largest Values From Labels](https://leetcode.com/problems/largest-values-from-labels/discuss/313984/C-Try-to-solve-using-greedy-algorithm-practice-in-2019) C# Try to solve using greedy algorithm practice in 2019
[1089. Duplicate Zeros](https://leetcode.com/problems/duplicate-zeros/discuss/314050/C-trial-and-error-practice-in-weekly-contest-141) C# trial and error practice in weekly contest 141
June 12 - 18
377. Combination Sum IV
Recursive solution with timeout issue, [here](https://leetcode.com/problems/combination-sum-iv/discuss/314201/C-recursive-solution-with-timeout-issue-practice) is the link.
Dynamic programming, top down, memoization, [here](https://leetcode.com/problems/combination-sum-iv/discuss/314212/C-top-down-and-memoizaton-practice-in-2019) is the link.
Dynamic programming, bottom up, [here](https://leetcode.com/problems/combination-sum-iv/discuss/314215/C-bottom-up-dynamic-programming-solution) is the link.
1091. Shortest Path in Binary Matrix
C# breadth first search practice in 2019
[Here](https://leetcode.com/problems/shortest-path-in-binary-matrix/discuss/313959/C-breadth-first-search-practice-in-2019) is the link.
1090. Largest Values From Labels
[C# Try to solve using greedy algorithm practice in 2019](https://leetcode.com/problems/largest-values-from-labels/discuss/313984/C-Try-to-solve-using-greedy-algorithm-practice-in-2019)
July 4, 2019
I went over discuss on Leetcode.com, and then had chance to review my past practice; I quickly wrote posts to share my past practice as well.
88. Merge Sorted Array
[C# first practice back in August 2018](https://leetcode.com/problems/merge-sorted-array/discuss/326611/C-first-practice-back-in-August-2018)
212 Word search II
[C# First practice using Trie in 2017](https://leetcode.com/problems/word-search-ii/discuss/326680/C-First-practice-using-Trie-in-2017)
[C# practice using Trie and good explanation in detail](https://leetcode.com/problems/word-search-ii/discuss/326687/C-practice-using-Trie-and-good-explanation-in-detail)
[C# Using Trie with a case study practice in January 2018](https://leetcode.com/problems/word-search-ii/discuss/326693/C-Using-Trie-with-a-case-study-practice-in-January-2018)
57. Insert Interval
[C# First practice in 2017](https://leetcode.com/problems/insert-interval/discuss/326712/C-First-practice-in-2017)
[C# Sort intervals using start time first practice in 2017](https://leetcode.com/problems/insert-interval/discuss/326722/C-Sort-intervals-using-start-time-first-practice-in-2017)
28. Implement strStr()
[C# KMP algorithm practice in 2015](https://leetcode.com/problems/implement-strstr/discuss/326732/C-KMP-algorithm-practice-in-2015)
July 15, 2019
[76. Minimum Window Substring](https://leetcode.com/problems/minimum-window-substring/discuss/336029/C-slide-window-template-study-code-practice-in-2019)C# slide window template study code practice in 2019
August 22, 2019
33. Search in Rotated Sorted Array
[C# modified binary search practice on August 22, 2019](https://leetcode.com/problems/search-in-rotated-sorted-array/discuss/364923/C-modified-binary-search-practice-on-August-22-2019)
August 23, 2019
Various ideas to practice in 2019. [Here](https://leetcode.com/problems/search-in-rotated-sorted-array/discuss/365301/C-various-practices-in-2019) is the link.
**Time Line: 2019 August 20**
Onsite interview, whiteboard version with bugs on August 20, 2019, California, MPK, [here](https://leetcode.com/problems/search-in-rotated-sorted-array/discuss/365278/Case-study%3A-Road-to-executable-code-on-August-20-2019) is the link.
**Time Line: 2019 August 22**
Optimal solution, avoid middle - 1 or middle + 1, practice on August 22, 2019. [Here](https://leetcode.com/problems/search-in-rotated-sorted-array/discuss/364923/C-modified-binary-search-practice-on-August-22-2019) is the link.
**Time Line: 2019 August 23**
Work on idea to define left half [start, middle - 1], practice on August 23, 2019. [here](https://leetcode.com/problems/search-in-rotated-sorted-array/discuss/365290/C-introduce-middle-1-and-middle-%2B-1-practice-in-August-23-2019) is the link.
**Time Line: 2017**
My practice in 2017. [Here](https://leetcode.com/problems/search-in-rotated-sorted-array/discuss/365033/C-binary-search-practice-in-Dec-2017) is the link.
**Time Line: 2017**
Common mistakes in binary search is my favorite research topic in 2017. [Here](http://juliachencoding.blogspot.com/2017/11/binary-search-algorithm.html) is the blog.
My mock interview practice in 2017, [here](http://juliachencoding.blogspot.com/2017/11/binary-search-is-always-my-favorite.html) is the blog with [source code link](https://gist.github.com/jianminchen/db779d5e2189e64a0d01416027caa7d9) in the blog as well.
**126. Word Ladder II**
[C# Time limit exceeded practice in 2019](https://leetcode.com/problems/word-ladder-ii/discuss/325653/C-Time-limit-exceeded-practice-in-2019)
[C# creative idea to create a graph and then construct shortest path map practice in 2019](https://leetcode.com/problems/word-ladder-ii/discuss/379124/C-creative-idea-to-create-a-graph-and-then-construct-shortest-path-map-practice-in-2019)
simple version:
Find all paths from given start word and end word, also a dictionary of words to connect, one char to change every step.
[Brute force solution - using DFS - Sept. 2019](https://github.com/jianminchen/100-hard-level-algorithms-2018-summer-campaign/tree/master/leetcode%20126%20word%20ladder%20II)
1200. Minimum Absolute Difference
[C# Sort the array and then find the minimum](https://leetcode.com/problems/minimum-absolute-difference/discuss/387639/C-Sort-the-array-and-then-find-the-minimum)
Oct. 21 - Oct. 25, 2019
[1170. Compare Strings by Frequency of the Smallest Character](https://leetcode.com/problems/compare-strings-by-frequency-of-the-smallest-character/discuss/413413/C-Sort-first-and-then-get-count-of-smallest-character) C# Sort first and then get count of smallest character
[985. Sum of Even Numbers After Queries](https://leetcode.com/problems/sum-of-even-numbers-after-queries/discuss/413410/C-Using-dynamic-programming-to-track-sum-of-even-numbers) C# Using dynamic programming to track sum of even numbers
[1128. Number of Equivalent Domino Pairs](https://leetcode.com/problems/number-of-equivalent-domino-pairs/discuss/413394/C-Learn-from-three-failed-test-cases) C# Learn from three failed test cases
[999. Available Captures for Rook](https://leetcode.com/problems/available-captures-for-rook/discuss/412915/C-work-on-directions-and-also-boundary-check-carefully) C# work on directions and also boundary check carefully
[1122. Relative Sort Array](https://leetcode.com/problems/relative-sort-array/discuss/412905/C-Good-learning-experience) C# Good learning experience
[509. Fibonacci Number](https://leetcode.com/problems/fibonacci-number/discuss/412901/C-optimal-time-and-space-complexity) C# optimal time and space complexity
[1160. Find Words That Can Be Formed by Characters](https://leetcode.com/problems/find-words-that-can-be-formed-by-characters/discuss/412900/C-Counting-sort-technique) C# Counting sort technique
[1051. Height Checker](https://leetcode.com/problems/height-checker/discuss/412893/C-Solve-60-easy-level-algorithms-No-1-of-60) C# Solve 60 easy level algorithms - No 1 of 60
Oct. 29, 2019
[1238. Circular Permutation in Binary Representation](https://leetcode.com/problems/circular-permutation-in-binary-representation/discuss/415630/C-Design-algorithm-using-DFS-similar-to-Sudoku-solver) Design algorithm using DFS similar to Sudoku solver
[989. Add to Array-Form of Integer](https://leetcode.com/problems/add-to-array-form-of-integer/discuss/416195/C-Learn-IEnumerable-Skip-and-Take-API) C# Learn IEnumerable Skip and Take API
[989. Add to Array-Form of Integer](https://leetcode.com/problems/add-to-array-form-of-integer/discuss/416282/C-iterative-solution)
C# iterative solution
[1239. Maximum Length of a Concatenated String with Unique Characters](https://leetcode.com/problems/maximum-length-of-a-concatenated-string-with-unique-characters/discuss/416367/C-A-solution-with-readable-code-using-DFS) C# A solution with readable code using DFS
Nov. 4, 2019
[1247. Minimum Swaps to Make Strings Equal](https://leetcode.com/problems/minimum-swaps-to-make-strings-equal/discuss/419458/C-learn-from-two-test-cases) C# learn from two test cases
[1248. Count Number of Nice Subarrays](https://leetcode.com/problems/count-number-of-nice-subarrays/discuss/419477/C-preprocess-the-array-first) C# - preprocess the array first
Nov. 12, 2019
[1103. Distribute Candies to People](https://leetcode.com/problems/distribute-candies-to-people/discuss/427629/C-Work-on-basics-while-loop) C# Work on basics - while loop
Nov. 24, 2019
[239. Sliding Window Maximum](https://leetcode.com/problems/sliding-window-maximum/discuss/435402/C-mock-interview-performance-with-code-review-in-2019) C# mock interview performance with code review in 2019
[117. Populating Next Right Pointers in Each Node II](https://leetcode.com/problems/populating-next-right-pointers-in-each-node-ii/discuss/435396/c-using-level-by-level-traversal-practice-in-2019) C# using level by level traversal practice in 2019
[69. Sqrt(x)](https://leetcode.com/problems/sqrtx/discuss/435381/c-binary-search-practice-with-challenges-in-2019) C# binary search practice with challenges in 2019
Nov. 24, 2019
[124. Binary Tree Maximum Path Sum](https://leetcode.com/problems/binary-tree-maximum-path-sum/discuss/437163/c-mock-interview-practice-on-nov-24-2019) C# mock interview practice on Nov 24, 2019
[207. Course Schedule](https://leetcode.com/problems/course-schedule/discuss/437166/c-mock-interview-practice-on-nov-24-2019) C# mock interview practice on Nov. 24, 2019
[210. Course Schedule II](https://leetcode.com/problems/course-schedule-ii/discuss/437168/c-mock-interview-practice-on-nov-24-2019) C# mock interview practice on Nov 24, 2019
Phone screen: 输入是”123456789”,可以在任意位置加上多个+或-的运算符,最后结果要是100。输出所有的可能组合。简单的dfs题。比如”123-45-67+89 = 100”
[Here](https://github.com/jianminchen/Leetcode_Julia/blob/master/Practice%20history/2020%20June%20to%20July%20Facebook%20phone%20screen/ExpressionTo100.cs)
2020 - I put all my practice in another page.
[2020 practice](https://github.com/jianminchen/Leetcode_Julia/blob/master/Leetcode%20discussion/2020%20Practice.md)
January 2, 2020
"There is no way around the hard work. Embrace it." Roger Federer
I like to encourage myself to solve 240 algorithms in first six months of 2020. I know that I am super busy with full time work, and also I like to catch up learning system design as a senior programmer. But I do believe that I will become a better problem solver if I choose to work on easy level algorithms every day, and every Saturday I play weekly contest as well.
To push myself hard, I need to solve 40 algorithms in one month, and I like to work on it six months. So I can complete 240 algorithms in six months.
July 2017
[516. Longest Palindromic Subsequence](https://leetcode.com/problems/longest-palindromic-subsequence/discuss/327470/C-dynamic-programming-practice-in-2017) C# dynamic programming practice in 2017
Jan. 8 2020
[1249. Minimum Remove to Make Valid Parentheses](https://leetcode.com/problems/minimum-remove-to-make-valid-parentheses/discuss/474578/c-first-practice-in-2020) C# First practice in 2020
Jan. 13, 2020
[419. Battleships in a Board]() Plan to work on
Jan. 14, 2020
[402. Remove K Digits](https://leetcode.com/problems/remove-k-digits/discuss/480483/C-brute-force-solution-written-for-mock-interview-on-January-13-2020
) C# brute force solution written for mock interview on January 13, 2020
[402. Remove K Digits](https://leetcode.com/problems/remove-k-digits/discuss/480553/C-brute-force-solution-with-backtracking-practice-in-2020
) C# brute force solution with backtracking practice in 2020
Jan. 15, 2020
[402. Remove K Digits](https://leetcode.com/problems/remove-k-digits/discuss/481351/C-work-with-brute-force-solution-to-enumerate-all-possible-combinations-k-digits) C# work with brute force solution to enumerate all possible combinations k digits
Feb. 9, 2020
[987. Vertical Order Traversal of a Binary Tree](https://leetcode.com/problems/vertical-order-traversal-of-a-binary-tree/discuss/504546/C-Avoid-using-hashmap-and-sorting-practice-in-2020) C# Optimal time complexity linear time in 2020
March 1, 2020
[322 coin change](https://leetcode.com/problems/coin-change/discuss/526395/C-dynamic-programming-bottom-up-practice-in-June-2019) My practice back in June 2019
[958. Check Completeness of a Binary Tree](https://leetcode.com/problems/check-completeness-of-a-binary-tree/discuss/526895/C-Learning-experience-as-an-interviewer-on-March-1-2020) C# Learning experience as an interviewer on March 1, 2020
March 2, 2020 10:00 PM mock interview as an interviewer
[958. Check Completeness of a Binary Tree](https://leetcode.com/problems/check-completeness-of-a-binary-tree/discuss/527824/Learn-from-mock-interview-experience%3A-A-small-case-study-leads-to-elegant-solution) A 30 minutes mock interview study
[53. Maximum Subarray](https://leetcode.com/problems/maximum-subarray/discuss/527884/C-my-practice-after-mock-interview-on-March-3-2020#_=_) C# work on prefix sum
[53. Maximum Subarray](https://leetcode.com/problems/maximum-subarray/discuss/528012/C-Having-fun-to-work-on-easy-level-algorithm-practice-in-2020) C# Having fun to work on easy level algorithm practice in 2020
March 4, 2020
[692. Top K Frequent Words](https://leetcode.com/problems/top-k-frequent-words/discuss/529058/C-Apply-two-data-structures%3A-SortedDictionary-and-SortedSet) C# Apply two data structures: SortedDictionary and SortedSet
March 10, 2020
[994. Rotting Oranges](https://leetcode.com/problems/rotting-oranges/discuss/535465/C-start-from-each-rotten-orange-to-apply-BFS-approach-more-work) C# start from each rotten orange to apply BFS approach - more work
practice time: Feb. 2019
[994. Rotting Oranges](https://leetcode.com/problems/rotting-oranges/discuss/238665/C-Check-fresh-orange-nodes-by-four-neighbors-all-the-time) C# Check fresh orange nodes by four neighbors all the time
practice time: March 10, 2020
[994. Rotting Oranges](https://leetcode.com/problems/rotting-oranges/discuss/535414/C-discussion-how-to-choose-less-error-prone-mapping-function-rows-%2B-columns) C# discussion how to choose less error-prone mapping function - rows + columns
[994. Rotting Oranges](https://leetcode.com/problems/rotting-oranges/discuss/535419/C-Having-fun-to-practice-more-ideas-in-2020) C# Having fun to practice more ideas in 2020
May 26, 2020
236. Lowest Common Ancestor of a Binary Tree
May 1, 2020
[C# Postorder traversal and count nodes found practice in 2020](https://leetcode.com/problems/lowest-common-ancestor-of-a-binary-tree/discuss/606995/C-Postorder-traversal-and-count-nodes-found-practice-in-2020) Learn idea from ex-facebook engineer
May 25, 2020
[C# Tuple design talk and quick practice in May 25 2020](https://leetcode.com/problems/lowest-common-ancestor-of-a-binary-tree/discuss/652064/c-tupletreenode-int-design-talk-and-quick-practice-in-may-25-2020) First warmup
[C# Tuple design talk and second practice on May 25 2020](https://leetcode.com/problems/lowest-common-ancestor-of-a-binary-tree/discuss/652087/c-tupletreenode-int-design-talk-and-second-practice-on-may-25-2020) Second practice to warmup
May 26, 2020
236. Lowest Common Ancestor of a Binary Tree
[C# Find path from root to p practice on May 26, 2020](https://leetcode.com/problems/lowest-common-ancestor-of-a-binary-tree/discuss/653946/C-Find-path-from-root-to-p-practice-on-May-26-2020) Backtracking preorder traversal
[C# Critic my own code written on May 7, 2019](https://leetcode.com/problems/lowest-common-ancestor-of-a-binary-tree/discuss/653910/C-critic-my-own-code-written-on-May-7-2019)Critic my own code written on May 7 2019
414. Third Maximum Number
2018 August 15
[414. Third Maximum Number](https://leetcode.com/problems/third-maximum-number/discuss/160464/C-solution-using-SortedSet) C# solution using SortedSet
2020 June 2
[414. Third Maximum Number](https://leetcode.com/problems/third-maximum-number/discuss/667232/C-SortedSet-and-minimum-heap-warm-up-practice-in-June-2020) C# SortedSet and minimum heap warm up practice in June 2020
June 3, 2020
414. Third Maximum Number
2018 August 15
[C# work on basics practice on August 15 2018](https://leetcode.com/problems/third-maximum-number/discuss/668630/c-work-on-basics-practice-in-august-15-2018)
[C# solution using SortedSet](https://leetcode.com/problems/third-maximum-number/discuss/160464/C-solution-using-SortedSet)
2020 June
[C# SortedSet and minimum heap warm up practice in June 2020](https://leetcode.com/problems/third-maximum-number/discuss/667232/C-SortedSet-and-minimum-heap-warm-up-practice-in-June-2020)
[C# My practice showcase in 2020](https://leetcode.com/problems/third-maximum-number/discuss/668667/c-my-practice-showcase-in-2020)
June 4, 2020
[C# post order - check parent node and compare warmup practice in June 2020](https://leetcode.com/problems/longest-univalue-path/discuss/670763/C-post-order-check-parent-node-and-compare-warmup-practice-in-June-2020)
June 11, 2020
[C# minimum heap - walk through an example practice on June 2020](https://leetcode.com/problems/third-maximum-number/discuss/682396/c-minimum-heap-walk-through-an-example-practice-on-june-2020)
215. Kth Largest Element in an Array
[C# SortedDictionary minimum heap practice in 2020](https://leetcode.com/problems/kth-largest-element-in-an-array/discuss/670920/c-sorteddictionary-minimum-heap-practice)
[C# SortedDictionary minimum heap practice II in June 2020](https://leetcode.com/problems/kth-largest-element-in-an-array/discuss/670951/C-SortedDictionary-minimum-heap-practice-II-in-June-2020)
23 minimum Heap - merge k sorted lists
August 11, 2018
[C# solution using minimum heap](https://leetcode.com/problems/merge-k-sorted-lists/discuss/158834/C-solution-using-minimum-heap)
July 14, 2019
[C# Using SortedDictionary](https://leetcode.com/problems/merge-k-sorted-lists/discuss/334793/C-define-minimum-heap-using-SortedDictionary-practice-in-2019)
2015 August
[C# merge two lists idea practice in August 2015](https://leetcode.com/problems/merge-k-sorted-lists/discuss/682562/C-merge-two-lists-idea-practice-in-August-2015)
June 15, 2020
4. Median of Two Sorted Arrays
[C# warmup practice on June 15, 2020](https://leetcode.com/problems/median-of-two-sorted-arrays/discuss/689272/C-warmup-practice-on-June-15-2020)
[C# review my practice in June 2018](https://leetcode.com/problems/median-of-two-sorted-arrays/discuss/689106/C-review-my-practice-in-June-2018)
Trie data structure
I also like to build a show case based on data structure - Trie
212 - Word search II
[C# Trie showcase starting from 2018](https://leetcode.com/problems/word-search-ii/discuss/689320/C-Trie-showcase-starting-from-2018)
[C# Trie data structure DFS algorithm practice in June 2020](https://leetcode.com/problems/word-search-ii/discuss/689384/C-Trie-data-structure-DFS-algorithm-practice-in-June-2020)
June 16, 2020
[C# Trie design challenge and DFS algorithm practice in June 2018](https://leetcode.com/problems/word-search-ii/discuss/690869/c-trie-design-challenge-and-dfs-algorithm-practice-in-june-2018)
415. Add Strings
Problem statement
Given two nonnegative integer numbers as string, calculate sum of two numbers.
Sept 15, 2018
[C# my first practice has stack overflow issue on Sept 15 2018](https://leetcode.com/problems/add-strings/discuss/170832/C-my-first-practice-has-stack-overflow-issue-on-Sept-15-2018)
[C# iterative solution using a for loop](https://leetcode.com/problems/add-strings/discuss/170839/C-iterative-solution-using-a-for-loop)
[C# Warmup practice on June 17, 2020](https://leetcode.com/problems/add-strings/discuss/692785/C-code-review-my-last-practice-on-Sept.-15-2018)
[C# My showcase of practice starting from Sept. 2018](https://leetcode.com/problems/add-strings/discuss/692866/C-My-showcase-of-practice-starting-from-Sept.-2018)
June 22, 2020
720. Longest Word in Dictionary
[C# My showcase of practice starting from August 2018](https://leetcode.com/problems/longest-word-in-dictionary/discuss/700899/C-My-showcase-of-practice-starting-from-August-2018)
[C# Level order traversal to search all possible words practice in 2020](https://leetcode.com/problems/longest-word-in-dictionary/discuss/700939/C-Level-order-traversal-to-search-all-possible-words-practice-in-2020)
[301. Remove Invalid Parentheses]
June 22, 2020
[C# BFS warmup practice in 2020](https://leetcode.com/problems/remove-invalid-parentheses/discuss/701047/C-BFS-warmup-practice-in-2020)
June 23, 2020
BFS algorithm - keep minimum steps to make it work first
[C# BFS approach without pruning practice in June 2020](https://leetcode.com/problems/remove-invalid-parentheses/discuss/702517/C-BFS-approach-without-pruning-practice-in-June-2020)
[C# My showcase of practice starting from 2017](https://leetcode.com/problems/remove-invalid-parentheses/discuss/701011/C-My-showcase-of-practice-starting-from-2017)
June 24, 2020
208. Implement Trie (Prefix Tree)
[C# Trie algorithm practice in June 2020](https://leetcode.com/problems/implement-trie-prefix-tree/discuss/703925/c-trie-algorithm-practice-in-june-2020)
46. Permutations
[C# DFS algorithm with backtracking practice on June 2020](https://leetcode.com/problems/permutations/discuss/703917/c-dfs-algorithm-with-backtracking-practice-on-june-2020)
116. Populating Next Right Pointers in Each Node
[C# tree level by level order traversal practice in June 2020](https://leetcode.com/problems/populating-next-right-pointers-in-each-node/discuss/704071/C-tree-level-by-level-order-traversal-practice-in-June-2020)
3. Longest Substring Without Repeating Characters
[C# slide window optimal time algorithm practice in June 2020](https://leetcode.com/problems/longest-substring-without-repeating-characters/discuss/704066/c-slide-window-optimal-time-algorithm-practice-in-june-2020)
[C# My showcase of learning starting from 2015 April](https://leetcode.com/problems/longest-substring-without-repeating-characters/discuss/704122/C-My-showcase-of-learning-starting-from-2015-April)
3. Longest Substring Without Repeating Characters
2020 June 24
[C# slide window optimal time algorithm practice in June 2020](https://leetcode.com/problems/longest-substring-without-repeating-characters/discuss/704066/c-slide-window-optimal-time-algorithm-practice-in-june-2020)
**Two nested loop**
2020 June 25
[C# warmup practice in June 25 2020](https://leetcode.com/problems/longest-substring-without-repeating-characters/discuss/705503/C-warmup-practice-in-June-25-2020)
**One loop**
34. Find First and Last Position of Element in Sorted Array
[C# binary search algorithm practice on June 26, 2020](https://leetcode.com/problems/find-first-and-last-position-of-element-in-sorted-array/discuss/706801/C-binary-search-algorithm-practice-on-June-26-2020)
[C# binary search algorithm showcase starting from August 2018](https://leetcode.com/problems/find-first-and-last-position-of-element-in-sorted-array/discuss/706868/C-binary-search-algorithm-showcase-starting-from-August-2018)
June 26, 2020
688. Knight Probability in Chessboard
[C# mock interview practice with time limit exceeded problem in June 2020](https://leetcode.com/problems/knight-probability-in-chessboard/discuss/707017/C-mock-interview-practice-with-time-limit-exceeded-problem-in-June-2020)
June 29, 2020
84. Largest Rectangle in Histogram
[C# Review my first practice in June 2018](https://leetcode.com/problems/knight-probability-in-chessboard/discuss/707014/C-Review-my-first-practice-in-June-2018)
[C# My showcase of problem solving starting from June 2018](https://leetcode.com/problems/knight-probability-in-chessboard/discuss/707062/C-My-showcase-of-problem-solving-starting-from-June-2018)
[C# Showcase how to solve the problem starting from 2015](https://leetcode.com/problems/largest-rectangle-in-histogram/discuss/712028/C-Showcase-how-to-solve-the-problem-starting-from-2015)
[How to analyze the problem starting from brute force solution?](https://leetcode.com/problems/largest-rectangle-in-histogram/discuss/712053/How-to-analyze-the-problem-starting-from-brute-force-solution)
June 29, 2020
382. Linked List Random Node
[C# mock interview practice on June 29 2020](https://leetcode.com/problems/linked-list-random-node/discuss/713537/C-mock-interview-practice-on-June-29-2020)
382. Linked List Random Node
[C# mock interview practice on June 29 2020](https://leetcode.com/problems/linked-list-random-node/discuss/713537/C-mock-interview-practice-on-June-29-2020)
724. Find Pivot Index
[C# mock interview practice on June 29, 2020](https://leetcode.com/problems/find-pivot-index/discuss/713563/C-mock-interview-practice-on-June-29-2020)
599. Minimum Index Sum of Two Lists
[C# mock interview practice on June 29, 2020](https://leetcode.com/problems/minimum-index-sum-of-two-lists/discuss/713569/C-mock-interview-practice-on-June-29-2020)
10. Regular expression matching
[Case study: dynamic programming solution with a bug on March 29, 2018](https://leetcode.com/problems/regular-expression-matching/discuss/716812/Case-study%3A-dynamic-programming-solution-with-a-bug-on-March-29-2020)
[Case study: dynamic programming solution on January 26, 2018](https://leetcode.com/problems/regular-expression-matching/discuss/716835/Case-study%3A-dynamic-programming-solution-on-January-26-2018)
[C# My showcase of practice starting from 2017](https://leetcode.com/problems/regular-expression-matching/discuss/716792/C-My-showcase-of-practice-starting-from-2017)
July 2, 2020
911. Online Election
[C# mock interview practice on July 2 2020](https://leetcode.com/problems/online-election/discuss/717073/C-mock-interview-practice-on-July-2-2020)
July 3, 2020
124 Maximum path sum
[Showcase how I learn to solve in 15 minutes starting from 2015](https://leetcode.com/problems/binary-tree-maximum-path-sum/discuss/718295/Showcase-how-I-learn-to-solve-in-15-minutes-starting-from-2015)
2019 Nov.25
[Mock interview practice with insights](https://leetcode.com/problems/binary-tree-maximum-path-sum/discuss/437163/C-mock-interview-practice-on-Nov-24-2019-with-insights)
2019 May 27
[C# post order traversal and then design a recursive function to return root to leaf path max value](https://leetcode.com/problems/binary-tree-maximum-path-sum/discuss/300609/C-post-order-traversal-and-then-design-a-recursive-function-to-return-root-to-leaf-path-max-value)
2016 August 4
[2016 practice - need improvements](http://juliachencoding.blogspot.com/2016/08/leetcode-124-binary-tree-maximum-path.html)
[C# code review practice in July 2015](https://leetcode.com/problems/binary-tree-maximum-path-sum/discuss/718271/C-code-review-practice-in-July-2015)
[C# code review practice in July 2015](https://leetcode.com/problems/binary-tree-maximum-path-sum/discuss/718275/C-code-review-practice-in-July-2015)
[C# code review practice in August 2016](https://leetcode.com/problems/binary-tree-maximum-path-sum/discuss/718283/C-code-review-practice-in-August-2016)
July 3, 2020
438. Find All Anagrams in a String
[C# using counting sort](https://leetcode.com/problems/find-all-anagrams-in-a-string/discuss/177395/C-using-counting-sort)
Add a case study - take 10 minutes to write a case study how to approach the problem.
Most frequent asked algorithms from Facebook phone screen: https://www.1point3acres.com/
973, 314, 238, 438, 227, 523, 953, 670, 145, 463, 145, 953, 124, 47, 435
47. Permutations II
[C# DFS backtracking unique key practice on July 3, 2020](https://leetcode.com/problems/permutations-ii/discuss/718491/C-DFS-backtracking-unique-key-practice-on-July-3-2020)
July 6 2020
961. N-Repeated Element in Size 2N Array
[C# ugly code written in mock interview on July 6 2020](https://leetcode.com/problems/n-repeated-element-in-size-2n-array/discuss/723686/c-ugly-code-written-in-mock-interview-on-july-6-2020)
[C# using hashset practice in January 2019](https://leetcode.com/problems/n-repeated-element-in-size-2n-array/discuss/723674/C-using-hashset-practice-in-January-2019)
[C# Elegant solution written after mock interview on July 6, 2020](https://leetcode.com/problems/n-repeated-element-in-size-2n-array/discuss/723641/C-Elegant-solution-written-after-mock-interview-on-July-6-2020)
811. Subdomain Visit Count
[C# review my practice in May 2019](https://leetcode.com/problems/subdomain-visit-count/discuss/723439/C-review-my-practice-in-May-2019)
[C# Mock interview practice on July 6 2020](https://leetcode.com/problems/subdomain-visit-count/discuss/724481/C-Mock-interview-practice-on-July-6-2020)
81. Search in Rotated Sorted Array II
[C# binary search algorithm with compromise edge case July 6 2020](https://leetcode.com/problems/search-in-rotated-sorted-array-ii/discuss/723328/C-binary-search-algorithm-with-compromise-edge-case-July-6-2020)
993. Cousins in Binary Tree
[C# mock interview practice on July 6, 2020](https://leetcode.com/problems/cousins-in-binary-tree/discuss/723319/C-mock-interview-practice-on-July-6-2020)
81. Search in Rotated Sorted Array II
[C# binary search algorithm with compromise edge case July 6 2020](https://leetcode.com/problems/search-in-rotated-sorted-array-ii/discuss/723328/C-binary-search-algorithm-with-compromise-edge-case-July-6-2020)
993. Cousins in Binary Tree
[C# mock interview practice on July 6, 2020](https://leetcode.com/problems/cousins-in-binary-tree/discuss/723319/C-mock-interview-practice-on-July-6-2020)
[C# review my practice in March 2019](https://leetcode.com/problems/cousins-in-binary-tree/discuss/724532/C-review-my-practice-in-March-2019)
July 7, 2020
1027. Longest Arithmetic Sequence
[C# mock interview practice with TLE bug practice on July 7, 2020](https://leetcode.com/problems/longest-arithmetic-sequence/discuss/724667/c-mock-interview-practice-with-tle-bug-practice-on-july-7-2020)
958. Check Completeness of a Binary Tree
[C# mock interview practice on July 7, 2020](https://leetcode.com/problems/check-completeness-of-a-binary-tree/discuss/724659/C-mock-interview-practice-on-July-7-2020)
503. Next Greater Element II
July 8, 2020
[C# mock interview case study with a bug on July 8, 2020](https://leetcode.com/problems/next-greater-element-ii/discuss/726658/c-mock-interview-case-study-with-a-bug-on-july-8-2020)
[C# Fix the bug in my mock interview on July 8 2020](https://leetcode.com/problems/next-greater-element-ii/discuss/726649/C-Fix-the-bug-in-my-mock-interview-on-July-8-2020)
July 10, 2019
[C# work on O(N) time complexity solution](https://leetcode.com/problems/next-greater-element-ii/discuss/216748/C-work-on-O(N)-time-complexity-solution)
July 8, 2020
1146. Snapshot Array
[C# Mock interview practice on July 8 2020](https://leetcode.com/problems/snapshot-array/discuss/726289/c-mock-interview-practice-on-july-8-2020)
278. First Bad Version
[C# binary search practice on July 8, 2020](https://leetcode.com/problems/first-bad-version/discuss/727499/C-binary-search-practice-on-July-8-2020)
[C# review binary search practice in August 2018](https://leetcode.com/problems/first-bad-version/discuss/726286/C-review-binary-search-practice-in-August-2018)
July 4, 2020
[C# mock interview case study practice on July 4 2020](https://leetcode.com/problems/validate-binary-search-tree/discuss/727546/C-mock-interview-case-study-practice-on-July-4-2020)
403. Frog Jump
[C# dynamic programming makes perfect](http://juliachencoding.blogspot.com/2020/07/mock-interview-jump-to-last-stone.html)
[C# dynamic programming - similar to BFS timeout issue](https://leetcode.com/problems/frog-jump/discuss/729087/C-dynamic-programming-similar-to-BFS-timeout-issue)
July 10, 2020
1080 Insufficient Nodes in Root to Leaf Paths
[C# Three test cases to help using post order traversal](https://leetcode.com/problems/insufficient-nodes-in-root-to-leaf-paths/discuss/730715/c-simple-solution-using-post-order-traversal)
2020 July 10
[C# It took me 85 minutes to make it work in mock interview](https://leetcode.com/problems/insufficient-nodes-in-root-to-leaf-paths/discuss/729442/C-It-took-me-85-minutes-to-make-it-work-in-mock-interview)
2019 June 8, 2019
[C# code could not pass large test case in weekly contest](https://leetcode.com/problems/insufficient-nodes-in-root-to-leaf-paths/discuss/308356/C-code-could-not-pass-large-test-case-in-weekly-contest)
It is so challenge for me to push myself one week to prepare 2020 July 20 Facebook phone screen.
July 13, 2020
733. Flood Fill
[C# Breadth first search practice on July 13, 2020](https://leetcode.com/problems/flood-fill/discuss/734754/c-breadth-first-search-practice-on-july-13-2020)
939. Minimum Area Rectangle
July 13, 2020
[C# brute force solution based on top left corner](https://leetcode.com/problems/minimum-area-rectangle/discuss/734848/C-brute-force-solution-based-on-top-left-corner)
Dec. 2018
[C# review my practice in Dec. 2018](https://leetcode.com/problems/minimum-area-rectangle/discuss/734864/C-review-my-practice-in-Dec.-2018)
Dec. 2018
[C# Review time limit exceeded practice in Dec. 2018](https://leetcode.com/problems/minimum-area-rectangle/discuss/734932/C-Review-time-limit-exceeded-practice-in-Dec.-2018)
July 14, 2020
328. Odd Even Linked List
[C# LinkedList challenge](https://leetcode.com/problems/odd-even-linked-list/discuss/736462/C-LinkedList-challenge)
142. Linked List Cycle II
[C# Fast and slow two runners practice on July 14, 2020](https://leetcode.com/problems/linked-list-cycle-ii/discuss/736453/C-Fast-and-slow-two-runners-practice-on-July-14-2020)
July 17, 2020
1376. Time Needed to Inform All Employees
[C# Optimal solution using stack](https://leetcode.com/problems/time-needed-to-inform-all-employees/discuss/741523/C-Optimal-solution-using-stack)
July 18, 2020
979. Distribute Coins in Binary Tree
[Distribute Coins in Binary Tree](https://leetcode.com/problems/distribute-coins-in-binary-tree/discuss/743438/C-Need-to-work-on-a-simple-case-study)
935. Knight Dialer
[C# Need to move fast](https://leetcode.com/problems/knight-dialer/discuss/743416/C-Need-to-move-fast)
July 19, 2020
[Leetcode discuss: 332. Reconstruct Itinerary](https://leetcode.com/problems/reconstruct-itinerary/discuss/742915/C-DFS-algorithm-with-tough-decisions-to-make)
304. Range Sum Query 2D - Immutable
[C# preprocess matrix to calculate left top corner area](https://leetcode.com/problems/range-sum-query-2d-immutable/discuss/743616/C-preprocess-matrix-to-calculate-left-top-corner-area)
394. Decode String
[C# Stack is helpful to parse nested](https://leetcode.com/problems/decode-string/discuss/744920/C-Stack-is-helpful-to-parse-nested)
4 more mock interviews on interviewing.io as an interviewee. One mock interview from a friend this coming Saturday.
Count down three days. Party is over for phone screen! Chao! (Mexico goodbye!)
Also I will start to work on algorithms on leetcode mock interview phone screen nonstop for two days.
I will plan to work on 10 to 20 algorithms a day. I need to get ideas how to improve myself in terms of problem solving.
July 20, 2020
8:00 AM - 11:00 AM Review tree algorithms on Leetcode.com. Start from hard level, finished over 20 tree algorithms.
106. Construct Binary Tree from Inorder and Postorder Traversal
[C# Review my own code](https://leetcode.com/problems/construct-binary-tree-from-inorder-and-postorder-traversal/discuss/746159/c-review-my-own-code)
834. Sum of Distances in Tree (Hard level)
[C# code review practice in January 2019](https://leetcode.com/problems/sum-of-distances-in-tree/discuss/746076/C-code-review-practice-in-January-2019)
636. Exclusive Time of Functions
[C# My first practice with problem understanding requirement](https://leetcode.com/problems/exclusive-time-of-functions/discuss/745353/C-My-first-practice-with-problem-understanding-requirement)
July 20, 2020
205. Isomorphic Strings
[C# Understand Isomorphic strings](https://leetcode.com/problems/isomorphic-strings/discuss/744925/c-understand-isomorphic-strings)
July 17 - 20, 2020 Weekend code marathon is [here](http://juliachencoding.blogspot.com/2020/07/leetcode-phone-screen-mock-interview.html).
Say goodbye to Facebook phone screen. [Here](http://juliachencoding.blogspot.com/2020/07/say-goodbye-to-facebook-phone-screen.html) is the blog.
August 14, 2020
76. Minimum Window Substring
[C# using extra map to help track sliding window](https://leetcode.com/problems/minimum-window-substring/discuss/792082/C-using-extra-map-to-help-track-sliding-window)
[C# Work on easy level algorithms first](https://leetcode.com/problems/minimum-window-substring/discuss/797473/C-Work-on-easy-level-algorithm-first)
August 21, 2020
1530. Number of Good Leaf Nodes Pairs
[C# Find root to leaf node path using 0 and 1 two digit string](https://leetcode.com/problems/number-of-good-leaf-nodes-pairs/discuss/804733/C-Find-root-to-leaf-node-path-using-0-and-1-two-digit-string)
August 25, 2020
1372 Longest ZigZag Path in a Binary Tree
[C# preorder traversal with optimal space and time complexity](https://leetcode.com/problems/longest-zigzag-path-in-a-binary-tree/discuss/811758/C-preorder-traversal-with-optimal-space-and-time-complexity)
August 28, 2020
105 Construct Binary Tree from Preorder and Inorder Traversal
[C# optimal time complexity is important](https://leetcode.com/problems/construct-binary-tree-from-preorder-and-inorder-traversal/discuss/817403/C-optimal-time-complexity-is-important)
August 31, 2020
1261. Find Elements in a Contaminated Binary Tree
[C# Using HashSet to get O(1) time complexity to lookup](https://leetcode.com/problems/find-elements-in-a-contaminated-binary-tree/discuss/822384/c-using-hashsetint-to-get-o1-time-complexity-to-lookup)
1305. All Elements in Two Binary Search Trees
[C# preorder traversal of binary search tree and then merge two sorted list](https://leetcode.com/problems/all-elements-in-two-binary-search-trees/discuss/822334/c-preorder-traversal-of-binary-search-tree-and-then-merge-two-sorted-list)
1315. Sum of Nodes with Even-Valued Grandparent
[C# Apply level order traversal and also enqueue a node and it's parent and grandparent](https://leetcode.com/problems/sum-of-nodes-with-even-valued-grandparent/discuss/822305/c-apply-level-order-traversal-and-also-enqueue-a-node-and-its-parent-and-grandparent)
1302. Deepest Leaves Sum
[C# Apply level order traversal and calculate sum of each level nodes](https://leetcode.com/problems/deepest-leaves-sum/discuss/822288/c-apply-level-order-traversal-and-calculate-sum-of-each-level-nodes)
1379. Find a Corresponding Node of a Binary Tree in a Clone of That Tree
[C# preorder traversal the original tree and find target](https://leetcode.com/problems/find-a-corresponding-node-of-a-binary-tree-in-a-clone-of-that-tree/discuss/822280/c-preorder-traversal-the-original-tree-and-find-target)
889. Construct Binary Tree from Preorder and Postorder Traversal
[C# Find right subtree root node in postorder traversal list](https://leetcode.com/problems/construct-binary-tree-from-preorder-and-postorder-traversal/discuss/840424/C-Find-right-subtree-root-node-in-postorder-traversal-list)
Sept. 15, 2020
146. LRU Cache
Using C# LinkedList and LinkedListNode two classes
[C# double linked list and hashmap two data structures to play roles](https://leetcode.com/problems/lru-cache/discuss/848598/C-double-linked-list-and-hashmap-two-data-structures-to-play-roles)
Sept. 22, 2020
146. LRU Cache
[C# Double linked list using dummy head and tail](https://leetcode.com/problems/lru-cache/discuss/859760/C-Double-linked-list-using-dummy-head-and-tail)
42. Trapping Rain Water
[C# | Quick learner | Two solutions to share](https://leetcode.com/problems/trapping-rain-water/discuss/2310527/C-or-Quick-learner-or-Two-solutions-to-share)