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]时出现段错位;
全部评论

相关推荐

点赞 评论 收藏
分享
05-22 09:23
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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