LeetCode-python 1051.高度检查器

题目链接
难度:简单       类型:数组


学校在拍年度纪念照时,一般要求学生按照 非递减 的高度顺序排列。

请你返回至少有多少个学生没有站在正确位置数量。该人数指的是:能让所有学生以 非递减 高度排列的必要移动人数。

示例

输入:[1,1,4,2,1,3]
输出:3
解释:高度为 4、3 和最后一个 1 的学生,没有站在正确的位置

解题思路


方法1:排序,比较排序后和原顺序不同的位数

方法2:统计每个身高的个数,相当于桶排序的思想

代码实现

方法1

class Solution:
    def heightChecker(self, heights: List[int]) -> int:
        t = sorted(heights)
        res = 0
        for i in range(len(t)):
            if heights[i] != t[i]:
                res += 1
        return res

方法2

class Solution:
    def heightChecker(self, heights: List[int]) -> int:
        c = [0] * 101
        n = len(heights)
        for i in range(n):
            c[heights[i]] += 1
        j = 1
        res = 0
        for i in range(n):
            while j<=100 and c[j]==0:
                j += 1
            if heights[i] != j:
                res += 1
            c[j] -= 1
        return res

本文链接://www.greatytc.com/p/63485c2c2c17

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 专业考题类型管理运行工作负责人一般作业考题内容选项A选项B选项C选项D选项E选项F正确答案 变电单选GYSZ本规程...
    小白兔去钓鱼阅读 9,089评论 0 13
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,862评论 1 92
  • 一些概念 数据结构就是研究数据的逻辑结构和物理结构以及它们之间相互关系,并对这种结构定义相应的运算,而且确保经过这...
    Winterfell_Z阅读 6,118评论 0 13
  • 1)这本书为什么值得看: Python语言描述,如果学的Python用这本书学数据结构更合适 2016年出版,内容...
    孙怀阔阅读 12,661评论 0 15
  • 你的年华似花我渴望嗅着你的香香味苦涩正如你的年华我呵护你的香却忘了你原本的模样总归细水就去我目送你悄然的背影你的手...
    瓊鱼阅读 259评论 0 0