354耐心排序
纸牌问题的解决办法:
int piles=0;
for(int i=0;i<nums.size();i++){
int poker=nums[i];
int left=0;int right=piles;
while(left<right){
int mid=(left+right)/2;
if(top[mid]<poker){
left=mid+1;
}else if(top[mid]>poker){
right=mid;
}else{
right=mid;
}
}
if(left==piles)piles++;//没有找到
top[left]=poker;
}

浙公网安备 33010602011771号