Bug--记录
leetcode300:
int solution2(vector<int> &res){
int len = res.size();
if(0==len){
return 0;
}
vector<int> dp(len, 0);
int ans=0;
for(int i=0;i<len;i++){
//神一样的bug.
// int j, k = 0, ans;
int j = 0;
int k = ans;
while(j<k){
int m=(j+k)/2;
if(dp[m] < res[i]){
j = m+1;
}
else{
k = m;
}
}
dp[j] = res[i];
if(k==ans){
ans++;
}
}
return ans;
}- line10: c++按照python声明变量习惯,其实j未初始化,导致访问res[j]时出现段错位;


查看20道真题和解析