最長上升子串(非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;