扑克牌顺序,建议看题解,我的方法太蠢,但是没有用到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; } };