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;
}

 

posted @ 2023-10-19 12:59  iu本u  阅读(11)  评论(0)    收藏  举报