题解 | #合唱队#

合唱队

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

}

全部评论

相关推荐

迷茫的大四🐶:干脆大厂搞个收费培训得了,这样就人均大厂了
点赞 评论 收藏
分享
11-23 15:14
中原工学院 Java
程序员花海_:实习和校招简历正确格式应该是教育背景+实习+项目经历+个人评价 其中项目经历注意要体现业务 实习经历里面的业务更是要自圆其说 简历模板尽可能保持干净整洁 不要太花哨的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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