题解 | #合唱队#

合唱队

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

def max_l(l):
	dp = [1] * len(l)
	for i in range(len(l)): # 从左往右遍历
		for j in range(i):
			if l[j]<l[i] and dp[i]<dp[j]+1:
				dp[i] = dp[j]+1
	return dp #1 1 1 2 2 1 3 4

input_int = int(input())
result = []
l = list(map(int,input().split())) #这里要取整数
left = max_l(l)
right = max_l(l[::-1])[::-1]
for i in range(input_int):
	result.append(left[i] + right[i]) 
print(input_int - max(result) + 1)
全部评论

相关推荐

不愿透露姓名的神秘牛友
06-20 14:01
点赞 评论 收藏
分享
好在哪里了?我请问了?
_hengheng:很好啊,我看旁边同事都入职了都有工作
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

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