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

herrDeng網內搜尋

自訂搜尋

Ads

2024年2月17日 星期六

C++貪婪演算與Min Heap解Leetcode 1642 Furthest Building You Can Reach

Leetcode問題1642. Furthest Building You Can Reach也是用Greedy演算,有梯子、有磚塊,要訣就是高度差大的用梯子,高度差小的用磚塊,至於容器,C++可用priority_queue或用make_heap,當然也可用multiset,用heap的解答當然很快速,千萬不要誤入歧途採用DP動態規劃,先看constraints就知。

2024年2月15日 星期四

C++, python貪婪演算解多邊形問題Leetcode 2971 Find Polygon With the Largest Perimeter


C++, python貪婪演算解多邊形問題Leetcode 2971  Find Polygon With the Largest Perimeter
程式實作不難,用貪婪演算即可,有人知其然不知所以然,貪婪演算是否可用是需要數學證明的,下面有一個用make_heap的解答,保留在此

2024年2月13日 星期二

C, C++ ,python速解迴文Leetcode 2108 Find First Palindromic String in the Array


C C++ python速解迴文Leetcode 2108  Find First Palindromic String in the Array
這就是迴文「花蓮噴水池水噴蓮花」"racecar",Leetcode蒐集了一堆跟迴文有關的問題,應該是說科技公司面試常出迴文問題。想看C語言解答請進

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難題,先導一導數學式,
Related Posts Plugin for WordPress, Blogger...

熱門文章