题解 | #合唱队#

合唱队

http://www.nowcoder.com/practice/6d9d69e3898f45169a441632b325c7b4

package main import ( "fmt" )

func main() { var n int var dp []int for { _, err := fmt.Scan(&n) if err != nil { break } dp = make([]int, n) for i := 0; i < n; i++ { fmt.Scan(&dp[i]) } fmt.Println(hechangdui(dp)) } }

func hechangdui(s []int) int { dp1, dp2 := make([]int, len(s)), make([]int, len(s)) for i := 1; i < len(s); i++ { for j := 0; j < i; j++{ if s[i] > s[j] && dp1[i] < dp1[j]+1 { dp1[i] = dp1[j]+1 } } } for i := len(s)-2; i >= 0; i-- { for j := len(s)-1; j > i; j--{ if s[i] > s[j] && dp2[i] < dp2[j]+1 { dp2[i] = dp2[j]+1 } } } max := 1 for i := 0; i < len(s); i++ { if max < dp1[i]+dp2[i]+1 { max = dp1[i]+dp2[i]+1 } } return len(s)-max

}

全部评论

相关推荐

实习回来快一个月了,海投海笔海测全干了,今天面了两个真的有点心碎,好难啊!&nbsp;感觉现在就是纯碰瓷互联网,焦虑,,,&nbsp;阿里云快给我泡出来!!!
小肥罗:别焦虑,心态不好影响健康,心态放平哦,我可以告诉你,我大三的暑假拿了15份offer,但是我投递了300+企业,整个暑假,我都是边学习,边改简历,边刷题,边投递简历,边应对笔试,面试,一天三家公司的笔试/面试,我一天没睡几个小时,一屁股坐在房间,就像钉在那里一样。。。我也哭过,但是哭完后我也是继续努力才有15份offer的,加油兄弟!不许气馁哈
点赞 评论 收藏
分享
09-06 12:49
门头沟学院 Java
offeroffer...:我也是,前两面还挺紧张认真的,全程大脑飞速运转后面就越来越不想面了,不想说话不想思考
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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