leetcode659 Split Array into Consecutive Subsequences
2017-08-21 19:08
615 查看
思路:
对于每个数,尽量放在已有子序列的后面;如果不能,就创建一个新的子序列。
实现:
对于每个数,尽量放在已有子序列的后面;如果不能,就创建一个新的子序列。
实现:
1 class Solution 2 { 3 public: 4 bool isPossible(vector<int>& nums) 5 { 6 unordered_map<int, int> cnt, end; 7 for (auto i : nums) cnt[i]++; 8 for (auto i : nums) 9 { 10 if (cnt[i] == 0) continue; 11 else if (end[i - 1] > 0) 12 { 13 end[i - 1]--; 14 end[i]++; 15 } 16 else if (cnt[i + 1] > 0 && cnt[i + 2] > 0) 17 { 18 cnt[i + 1]--; 19 cnt[i + 2]--; 20 end[i + 2]++; 21 } 22 else return false; 23 cnt[i]--; 24 } 25 return true; 26 } 27 };
相关文章推荐
- leetcode 659. Split Array into Consecutive Subsequences 分割连续序列 + 贪心算法
- leetcode 659. Split Array into Consecutive Subsequences
- [Leetcode] 659. Split Array into Consecutive Subsequences 解题报告
- Leetcode659——Split Array into Consecutive Subsequences
- LeetCode[659]Split Array into Consecutive Subsequences(Java)
- 659. Split Array into Consecutive Subsequences(贪心)
- LeetCode 659: Split Array into Consecutive Subsequence
- [LeetCode] Split Array into Consecutive Subsequences 将数组分割成连续子序列
- 659. Split Array into Consecutive Subsequences
- 659. Split Array into Consecutive Subsequences
- LeetCode Split Array into Consecutive Subsequences
- 659-Split Array into Consecutive Subsequences
- 659. Split Array into Consecutive Subsequences
- leetcode 659. Split Array into Consecutive Subsequences
- 算法作业系列9——Split Array into Consecutive Subsequences
- LeetCode #659 Split Array into Consecutive Subsequences
- Split Array into Consecutive Subsequences 解法
- leetcode 659. Split Array into Consecutive Subsequences
- Leetcode 649, Split Array to Consecutive Subsequences
- Split Array into Consecutive Subsequences