while(left <= right){ int mid = (left + right) >> 1; if(temp[mid] > arr[i]){ right = mid - 1; }else if(temp[mid] < arr[i]){ left = mid + 1; }else{ left = mid; break; } } temp[left] = arr[i]; dp[i] = left + 1; }
点赞

相关推荐

牛客网
牛客网在线编程
牛客网题解
牛客企业服务