题解 | #扑克牌顺子#
扑克牌顺子
http://www.nowcoder.com/practice/762836f4d43d43ca9deb273b3de8e1f4
扑克牌顺序,建议看题解,我的方法太蠢,但是没有用到set()和sort()内置函数。
思路:五个数首先除了0之外,必须无重复,然后最大值与最小值之间的间距必须小于3(0,1,2都可以用万能数补充)。
重复数,首先想到set;然后可以想到sort,如果相邻两者相等,则说明有重复数。
我的笨蛋解法:
class Solution {
public:
bool IsContinuous( vector<int> numbers ) {
int max = numbers[0],min;
for(int i=0;i<5;i++){
if(numbers[i] != 0)
min = numbers[i];
}
for(int i=0;i<5;i++){
if(numbers[i] > max)
max = numbers[i];
else if(numbers[i] != 0 & numbers[i] < min )
min = numbers[i];
for(int j=i+1;j<5;j++){
if(numbers[j] != 0 & numbers[j] == numbers[i])
return false;
}
}
if(max-min-1 <= 3)
return true;
else
return false;
}
};
