--- titile: Weekly Contest 237 tags: LeetCode Contest --- [LeeteCode - Weekly Contest 237](https://leetcode.com/contest/weekly-contest-237/) === Q1 - 1832. Check if the Sentence Is Pangram --- ```cpp= class Solution { public: bool checkIfPangram(string sentence) { set<char> letters; for(char ch: sentence){ letters.insert(ch); } return letters.size() == 26; } }; ``` Q2 - 1833. Maximum Ice Cream Bars --- ```cpp= class Solution { public: int maxIceCream(vector<int>& costs, int coins) { vector<int> counts(100001); for(int cost: costs){ counts[cost]++; } int ret = 0; for(int i = 1; coins >= i && i <= 100000; i++){ if(counts[i] > 0){ int num = min(coins / i, counts[i]); ret += num; coins -= num * i; // cout<<ret<<endl; } } return ret; } }; ``` Q3 - 1834. Single-Threaded CPU --- ```cpp= class Solution { public: vector<int> getOrder(vector<vector<int>>& tasks) { priority_queue<pair<int, int>, vector<pair<int, int>>, greater<pair<int, int>>> minHeapTasks; for(int i = 0; i < tasks.size(); i++){ minHeapTasks.push({tasks[i][0], i}); } vector<int> ret; long long cur = 0; priority_queue<pair<int, int>, vector<pair<int, int>>, greater<pair<int, int>>> minHeapTimes; while(minHeapTasks.size() || minHeapTimes.size()){ if(minHeapTimes.empty()){ cur = max(cur, (long long)minHeapTasks.top().first); } while(minHeapTasks.size() && minHeapTasks.top().first <= cur){ int i = minHeapTasks.top().second; minHeapTimes.push({tasks[i][1], i}); minHeapTasks.pop(); } auto [time, i] = minHeapTimes.top(); minHeapTimes.pop(); cur += time; ret.push_back(i); } return ret; } }; ``` Q4 - --- ```cpp= ```