题解 | #数组中的最长连续子序列#

数组中的最长连续子序列

http://www.nowcoder.com/practice/eac1c953170243338f941959146ac4bf

//使用动态规划,时间复杂度O(n)
int MLS(vector<int>& arr) {
// write code here
sort(arr.begin(), arr.end());
int dp[arr.size()];
for(int i = 0; i<arr.size();i++)
{
dp[i] = 1;
}
int max = 0;
for(int i = 1; i < arr.size(); i++)
{
if(arr[i] == arr[i-1] + 1)
{
dp[i] = dp[i-1]+1;
}
else if(arr[i] == arr[i-1])
{
dp[i] = dp[i-1];
}
if(max < dp[i]) max = dp[i];
}
return max;</int>

全部评论

相关推荐

09-17 17:09
门头沟学院 Java
雨忄:有人给出过解法,拖晚点去,然后到时候再找其他理由商量,既增加他们的筛人成本,不一定会给你收回offer ,也能占位避免工贼
秋招的嫡长offer
点赞 评论 收藏
分享
DIY机器人工房:人家叫我骑驴找马
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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