剑指 Offer 61. 扑克牌中的顺子

    技术2023-08-04  105

    2020-07-03

    1.题目描述

    从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的。2~10为数字本身, A为1,J为11,Q为12,K为13,而大、小王为 0 ,可以看成任意数字。A 不能视为 14。

    2.题解

    进行排序即可

    3.代码

    class Solution { public: bool isStraight(vector<int>& nums) { int len=nums.size(); if (len!=5) return false; sort(nums.begin(),nums.end()); int i=0; while (i<len&&nums[i]==0) i++; if (i==len||i==len-1) return true; for (int j=i+1;j<len;j++) { if (nums[j]==nums[j-1]) return false; } int min_=nums[i],max_=nums[len-1]; if (max_-min_<=len-1) return true; return false; } };
    Processed: 0.009, SQL: 9