/* 自定義代碼塊樣式 */

herrDeng網內搜尋

自訂搜尋

Ads

2024年2月7日 星期三

Python C++採陣列排序速解字串問題Leetcode 451 Sort Characters By Frequency


解Leetcode 451. Sort Characters By Frequency.兩個重點,一是可用陣列就不用hash table(C++ unordered_map)來計數,二是排序的元素很少,可以練習各種排序法,用sort,自製radix sort,用max heap(C++ priority_queue)

2024年2月6日 星期二

Python C++ hash table速解Leetcode 49 Group Anagrams


Python C++ hash table速解Leetcode 49  Group Anagrams
Leetcode今天是老題目49. Group Anagrams,解法很多種,不過弄清楚anagram就是排列,一個簡易又快速的解答就出爐了

2024年2月4日 星期日

C++ sliding window頻率計數陣列解Leetcode難題76 Minimum Window Substring打敗100趴


C++ sliding window頻率計數陣列解Leetcode難題76  Minimum Window Substring打敗100趴
難題Leetcode 76. Minimum Window Substring半年前就解出來了,不過解法不好,保持主要sliding window的架構,把unordered_map換成C int array,用點bitmask 就64個元素的陣列,先用C++,再用python於是100趴的code就成形了

2024年2月3日 星期六

Python C++ dp動態規劃解Leetcode 1043 Partition Array for Maximum Sum


Python C++ dp動態規劃解Leetcode 1043  Partition Array for Maximum Sum
如果你看一下遞迴公式
dp[i]=max(ans, dp[i-j]+j*maxA)  for j in  [1...min(i, j)]
它是 k+1 項遞迴,這意味著遞迴公式中最多有 k+1 個連續項。 所以為了節省空間,可以改為
dp[i%k]=max(ans, dp[(i-j)%k]+j*maxA) for j in  [1...min(i, j)]

2024年1月31日 星期三

C++ python用monotonic stack解Leetcode 739 daily temperatures

C++ python用monotonic stack解Leetcode 739 daily temperatures。Stack在程式設計、資料結構的課會教,但monotonic stack就不一定了。Leetcode 739 daily temperatures,題目問天氣要等幾天才會變暖,當然迴圈可用倒序,這個確定後,當然要確保堆疊的頂端所代表的溫度大於temperatures[i]...

2024年1月27日 星期六

C++ python Mahonian三角四項遞迴公式解Leetcode難題629 K Inverse Pairs Array

C++ python Mahonian三角四項遞迴公式解Leetcode難題629  K Inverse Pairs Array
Fact 1 is for better writing f(n, k)=\sum_{j=0}^{n-1}f(n-1, k-j)
Leetcode 629. K Inverse Pairs Array解這類的Leetcode難題,先導一導數學式,

2024年1月25日 星期四

python C++遞迴邁向dp動態規劃解Leetcode 1143 Longest Common Subsequence


python C++遞迴邁向dp動態規劃解Leetcode 1143  Longest Common Subsequence. LCS之類的問題其實跟 DNA 序列的比對問題密切關聯。非常經典的DP動態規劃問題,有的人會TLE,請注意不是只設cache就好,尤其是C++,字串不要call-by-value 
Related Posts Plugin for WordPress, Blogger...

熱門文章