题目:
class Solution {
public:
bool isStraight(vector<int>& nums) {
sort(nums.begin(), nums.end()); //首先要对数组进行排序
int count=0; //count用来记录万能牌0的个数,count相当于用来补牌
for(auto n:nums){
if(n==0) count++;
}
for(int i=count+1;i<5;i++){ //从第二个非零的数开始遍历
if(nums[i]==nums[i-1]) return false; //若当前数等于前一个数,返回false
if(nums[i]-nums[i-1]-1>count) return false; //若当前数与前一个数之间缺失的牌数(nums[i]-nums[i-1]-1)大于count,返回false
count = count - (nums[i]-nums[i-1]-1); //count减去被拿去补充的牌数
}
return true;
}
};
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具