Maple

@MapleSyrupp

Joined on Dec 27, 2021

  • 題目 : https://leetcode.com/problems/richest-customer-wealth/ 。 想法 : 語法。 時間複雜度 : O(n*m)。 程式碼 : (JAVA)
     Like  Bookmark
  • 題目 : https://leetcode.com/problems/coin-change-2/ 。 想法 : 無窮背包問題。 時間複雜度 : O(n*m)。 程式碼 : (JAVA)
     Like  Bookmark
  • 題目 : https://leetcode.com/problems/integer-break/ 。 想法 : 規律就在2跟3身上(?),把一個數字分解成2跟3的總和就好。 時間複雜度 : O(1)。 程式碼 : (JAVA)
     Like  Bookmark
  • 題目 : https://leetcode.com/problems/longest-common-subsequence/ 。 想法 : LCS。 if(str[i] == str[j]) dp[i][j]=dp[i-1][j-1]+1; else dp[i][j]=max(dp[i-1][j], dp[i][j-1]);
     Like  Bookmark
  • 題目 : https://leetcode.com/problems/wiggle-subsequence/ 。 想法 : LIS改版。 時間複雜度 : O(n^2)。 程式碼 : (JAVA)
     Like  Bookmark
  • 題目 : https://leetcode.com/problems/longest-increasing-subsequence/ 。 想法 : LIS。 類似走樓梯,每一次都多一個字元加進陣列,前方所有的字元都有機會跳到新的那一個字元。 時間複雜度 : O(n^2)。
     Like  Bookmark
  • 題目 : https://leetcode.com/problems/edit-distance/ 。 想法 : 題目定義了三個轉移 : 1. Insert 2. Delete 3. Replace 這裡使用Bottom-up DP來完成。
     Like  Bookmark
  • 題目 : https://leetcode.com/problems/maximize-distance-to-closest-person/ 想法 : 分成3種Case來看 : 1. 兩個1夾住的 2. 右方有1 3. 左方有1 時間複雜度 : O(n)。
     Like  Bookmark
  • 題目 : https://leetcode.com/problems/perfect-squares/ 。 想法 : DP ! DP ! DP ! dp[n]=min(dp[n], dp[n-pow(i,2)]+1); 時間複雜度 : O(n^(2/3))。 程式碼 : (JAVA)
     Like  Bookmark
  • 題目 : https://leetcode.com/problems/coin-change/ 。 想法 : 零錢問題。 時間複雜度 : O(m*n)。 程式碼 : (JAVA)
     Like  Bookmark
  • 題目 : https://leetcode.com/problems/word-pattern/ 。 想法 : 用MAP映射字元到對應的字串,如果不同就返回False,否則為True。 時間複雜度 : O(n)。 程式碼 : (JAVA)
     Like  Bookmark
  • 題目 : https://leetcode.com/problems/combination-sum-iv/ 。 想法 : 無窮背包問題,只是這次裡外迴圈要對調,類似爬樓梯DP。 因為每一個Value都可以從不同的Weight走上去,代表著順序的不同。 時間複雜度 : O(n*m)。 程式碼 : (JAVA)
     Like  Bookmark
  • 題目 : https://leetcode.com/problems/house-robber/ 。 想法 : DP ! DP ! DP ! dp[n] = max(dp[n-1], dp[n-2] + h[n]); 時間複雜度 : O(n)。 程式碼 : (JAVA)
     Like  Bookmark
  • 題目 : https://leetcode.com/problems/can-place-flowers/ 。 想法 : 根據題意完成即可。 時間複雜度 : O(n)。 程式碼 : (JAVA)
     Like  Bookmark
  • 題目 : https://leetcode.com/problems/counting-bits/ 。 想法 : 觀察Bit set的規律 : 1. 如果是奇數,就是它前一個偶數多一個1 Bit。 2. 如果是偶數,就是它/2,因為整個bit set左移就是*2。 時間複雜度 : O(n)。
     Like  Bookmark
  • 題目 : https://leetcode.com/problems/koko-eating-bananas/ 。 想法 : 二分搜。 時間複雜度 : O(logn)。 程式碼 : (JAVA)
     Like  Bookmark
  • 題目 : https://leetcode.com/problems/gas-station/ 。 想法 : 走,一直走。 時間複雜度 : O(n)。 程式碼 : (JAVA)
     Like  Bookmark
  • 題目 : https://leetcode.com/problems/implement-trie-prefix-tree/ 。 想法 : TRIE練習題。 時間複雜度 : O(n * l)。 程式碼 : (JAVA)
     Like  Bookmark
  • 題目 : https://leetcode.com/problems/design-add-and-search-words-data-structure/ 。 想法 : Trie + Backtrack。 時間複雜度 : 程式碼 : (JAVA)
     Like  Bookmark
  • 題目 : https://leetcode.com/problems/all-elements-in-two-binary-search-trees/ 。 想法 : 先走訪再排序。 時間複雜度 : O(nlogn)。 程式碼 : (JAVA)
     Like  Bookmark