본문 바로가기

전체 글67

Two Sum - easy https://leetcode.com/explore/challenge/card/august-leetcoding-challenge-2021/613/week-1-august-1st-august-7th/3836/ class Solution { public: vector twoSum(vector& nums, int target) { int size = nums.size(); map m; for (int i = 0; i = 1) return { i, m[target - nums[i]] - 1 }; m[nums[i]] = i + 1; } return { 0, 1 }; } }; // 0ms class Solution { public: vector.. 2021. 8. 2.
Making A Large Island https://leetcode.com/explore/challenge/card/august-leetcoding-challenge-2021/613/week-1-august-1st-august-7th/3835/ // mine. // 368ms. class Solution { public: int largestIsland(vector& grid) { int n = grid.size(); int m = grid[0].size(); int gr = 1; int count = 0; vector v(n, vector(m, 0)); map gr_count; for (int i = 0; i < n; ++i) { for (int j = 0; j < m; ++j) { if (!grid[i][j]) continue; make.. 2021. 8. 1.
Map Sum Pairs https://leetcode.com/explore/challenge/card/july-leetcoding-challenge-2021/612/week-5-july-29th-july-31st/3832/ class MapSum { public: /** Initialize your data structure here. */ MapSum() { m_.clear(); } void insert(string key, int val) { m_[key] = val; } int sum(string prefix) { int ans = 0; int size = prefix.size(); for (auto p : m_) { if (p.first.size() < size) continue; int i = 0; for (; i <.. 2021. 7. 31.
Partition Array into Disjoint Intervals class Solution { public: int partitionDisjoint(vector& nums) { int size = nums.size(); vector forward(size); vector backward(size); backward[size - 1] = nums[size - 1]; for (int i = size - 2; i >= 0; --i) backward[i] = min(backward[i + 1], nums[i]); forward[0] = nums[0]; for (int i = 0; i 0) forward[i] = max(forward[i - 1], nums[i]); if (forward[i] nums[i]) { ans = i +.. 2021. 7. 22.