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