最长上升子串(非dp版本)
int j = 2; int ans = 1, cnt = 1; while(j <= n)//每次进while,第j个位置都准备开始判断 { if(x[j] >= x[j-1]) { ++cnt; } else { ans = max(ans, cnt); cnt = 1; } ++j; } ans = max(ans, cnt);//最后还要取一次,因为可能到第n个位置是上升的,但是不会进else里,,, cout << ans << endl;
最长上升子串(非dp版本)
int j = 2; int ans = 1, cnt = 1; while(j <= n)//每次进while,第j个位置都准备开始判断 { if(x[j] >= x[j-1]) { ++cnt; } else { ans = max(ans, cnt); cnt = 1; } ++j; } ans = max(ans, cnt);//最后还要取一次,因为可能到第n个位置是上升的,但是不会进else里,,, cout << ans << endl;