My leetcode submissions.
at main 38 lines 919 B view raw
1#include <bits/stdc++.h> 2#include <ranges> 3namespace ra = std::ranges; 4namespace vi = std::ranges::views; 5using namespace std; 6 7auto longestConsecutiveSequence(vector<int>& nums) -> int 8{ 9 if (nums.size() == 0) 10 return 0; 11 auto pq = priority_queue<int>(nums.begin(), nums.end()); 12 13 auto max_count = 1; 14 auto curr = 1; 15 for (auto prev = pq.top(); not pq.empty(); prev = pq.top(), pq.pop()) { 16 if (pq.top() == prev) 17 continue; 18 else 19 curr = pq.top() == prev - 1 ? curr + 1 : 1; 20 max_count = max(max_count, curr); 21 } 22 23 return max_count; 24} 25 26auto main() -> int 27{ 28 auto nums = vector{100, 4, 200, 1, 3, 2}; 29 cout << longestConsecutiveSequence(nums) << endl; 30 nums = vector{0, 3, 7, 2, 5, 8, 4, 6, 0, 1}; 31 cout << longestConsecutiveSequence(nums) << endl; 32 nums = vector{ 1,2,0,1 }; 33 cout << longestConsecutiveSequence(nums) << endl; 34 nums = vector{0}; 35 cout << longestConsecutiveSequence(nums) << endl; 36 37 return 0; 38}