题目描述(简单难度)
算法
(模拟)
- 用zeros去填充组成顺子时,中间缺的牌
- 最后看zeros >= 0是否成立即可
时间复杂度是 ,空间复杂度是
C++代码
class Solution {
public:
bool isStraight(vector<int>& nums) {
int zeros = 0;
sort(nums.begin(), nums.end());
for (int i = 0; i < nums.size() - 1; i ++) {
if (nums[i] == 0) zeros ++;
else if (nums[i] == nums[i + 1]) return false;
else {
zeros -= nums[i + 1] - nums[i] - 1; // use zeros
}
}
return zeros >= 0;
}
};
写在最后:我的博客主要是对计算机领域所学知识的总结、回顾和思考,把每篇博客写得通俗易懂是我的目标,分享技术和知识是一种快乐 ,非常欢迎大家和我一起交流学习,有任何问题都可以在评论区留言,也期待与您的深入交流(^∀^●)