题目描述

计算最少出列多少位同学,使得剩下的同学排成合唱队形

说明:

N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学排成合唱队形。
合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2…,K,他们的身高分别为T1,T2,…,TK,   则他们的身高满足存在i(1<=i<=K)使得T1<T2<......<Ti-1<Ti>Ti+1>......>TK。

你的任务是,已知所有N位同学的身高,计算最少需要几位同学出列,可以使得剩下的同学排成合唱队形。

注意不允许改变队列元素的先后顺序

请注意处理多组输入输出!

输入描述:

整数N

输出描述:

最少需要几位同学出列

示例1

输入

8
186 186 150 200 160 130 197 200

输出

4

实现

def _max(queue):
    dp = [1] * len(queue)
    for i in range(len(queue)):
        for j in range(i):
            if queue[i] > queue[j]:
                dp[i] = max(dp[i], dp[j]+1)
    return dp

import sys
while 1:
    try:
        num = int(input())
        height = [int(i) for i in sys.stdin.readline().strip().split()]
        if num == len(height):
            left = _max(height)
            right = _max(height[::-1])[::-1]
            max_student = max([left[i] + right[i] - 1 for i in range(len(left))])
            print(num - max_student)
    except:
        break

python:合唱队相关推荐

  1. (python)牛客网(华为机试四)——较难

    本博客为博主解题的部分记录,由于均为自己写的,所以答案并非最优解,有很多地方可以优化. 其他题解合集: (python)牛客网(华为机试一)--入门 (python)牛客网(华为机试二)--简单 (p ...

  2. 牛客网python刷题_牛客网刷题

    做题 19题: 开发一个简单错误记录功能小模块,能够记录出错的代码所在的文件名称和行号. 处理: 1. 记录最多8条错误记录,循环记录(或者说最后只输出最后出现的八条错误记录),对相同的错误记录(净文 ...

  3. Github配置(git+vscode+python+jupyter)

    ①下载git 打开 git bash 工具的用户名和密码存储 $ git config --global user.name "Your Name" $ git config -- ...

  4. 【实验楼】python简明教程

    ①终端输入python进入 欣赏完自己的杰作后,按 Ctrl + D 输入一个 EOF 字符来退出解释器,你也可以键入 exit() 来退出解释器. ②vim键盘快捷功能分布 ③这里需要注意如果程序中 ...

  5. 【Kaggle Learn】Python 5-8

    五. Booleans and Conditionals Using booleans for branching logic x = True print(x) print(type(x))''' ...

  6. 【Kaggle Learn】Python 1-4

    [Kaggle Learn]Python https://www.kaggle.com/learn/python 一. Hello, Python A quick introduction to Py ...

  7. 使用python愉快地做高数线代题目~

    今天接触到了python,发现真是极易上手啊!对比c语言是什么鬼东西= = 诶,等下,看完教学文章发现TA在下面写了这句话 如果做了前面的内容你可能已被吸引了,觉得c语言真的是废材! 不...不是的. ...

  8. python 位运算与等号_Python 运算符

    和大多数语言一样,Python也有很多运算符,并且运算符跟其他语言的运算符大同小异接下来一一介绍: 算术运算符: 运算符描述实例 +加 - 两个对象相加a+b的输出结果是30 -减 - 得到复数或者一 ...

  9. python减小内存占用_如何将Python内存占用缩小20倍?

    当程序执行过程中RAM中有大量对象处于活动状态时,可能会出现内存问题,特别是在对可用内存总量有限制的情况下. 下面概述了一些减小对象大小的方法,这些方法可以显著减少纯Python程序所需的RAM数量. ...

最新文章

  1. iOS ffmpeg 之编译ffmpeg
  2. 解读大型网站系统架构的演化
  3. monterey系统怎么降级?macOS Monterey系统降回Big Sur的详细教程
  4. 网申倒计时4天 | DJI大疆秋招独家笔试攻略
  5. java list判断是否存在字符串_java怎么判断字符串是否存在于list集合中?
  6. 计算机视觉方面书籍推荐
  7. es的分片和副本_原创|ES广告倒排索引架构演进与优化
  8. 解决方案:Windows下修改hosts文件
  9. 苹果手机升级13无法开机_苹果手机更新系统后无法开机
  10. 苹果手机换电池对手机有影响吗_手机电池多久需要换一次?
  11. linux 关键字搜索文件
  12. 看古人如何养颜:散落在历史中的美容秘方
  13. 基于SSM+Mysql的房屋租赁管理系统
  14. [小小明]Python正则表达式速查表与实操手册
  15. linux 文件操作write详解
  16. 串口的使用-ttyUSB0设备
  17. python连接teradata_使用Teradata模块将Python与Teradata连接
  18. 数据库设计-学生管理系统数据库系统
  19. 控制算法-PID算法总结-从公式原理到参数整定解析(附C源码)
  20. Win8系统中如何显示/隐藏文件扩展名

热门文章

  1. OJ每日一练——向量点积计算
  2. Linux拍照保存方法,Linux系统手机——拍照/易用/待机/连接/附加功能_手机_手机其它OS-中关村在线...
  3. webrtc直播服务 licode docker 外网安装
  4. Typescript基础知识
  5. 2019年—颗粒归仓
  6. winform下拉框模糊查询_怎样在c#中实现数据库数据的模糊查询
  7. 物联网技术LoRa是什么,主要有哪些技术特色?
  8. 坚持#第133天~循循渐进!
  9. 汾曲名家相国孙,翊登枢铉继承恩。继承
  10. win10出现驱动强制签名_错误代码:0xc0000428以及引导文件如何修复