首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

根据身高重建队列

编号为 1 的人身高为 7 ,没有身高更高或者相同的人排在他前面。 编号为 2 的人身高为 5 ,有 2 个身高更高或者相同的人排在他前面,即编号为 0 和 1 的人。...编号为 3 的人身高为 6 ,有 1 个身高更高或者相同的人排在他前面,即编号为 1 的人。 编号为 4 的人身高为 4 ,有 4 个身高更高或者相同的人排在他前面,即编号为 0、1、2、3 的人。...那么按照身高h来排序呢,身高一定是从大到小排(身高相同的话则k小的站前面),让高个子在前面。 此时我们可以确定一个维度了,就是身高,前面的节点一定都比本节点高!...以图中{5,2} 为例: 406.根据身高重建队列 按照身高排序之后,优先按身高高的people的k来插入,后序插入节点也不会影响前面已经插入的节点,最终按照k的规则完成了队列。...所以在按照身高从大到小排序后: 局部最优:优先按身高高的people的k来插入。

32620
您找到你想要的搜索结果了吗?
是的
没有找到

本期题目:身高排序

本期题目:身高排序 题目 小明今年升学到了小学一年级, 来到新班级后,发现其他小朋友身高参差不齐, 然后就想基于各小朋友和自己的身高差,对他们进行排序, 请帮他实现排序 输入 第一行为正整数H和N 0...< H < 200 为小明的身高 0 < N < 50 为新班级其他小朋友个数 第二行为 N 个正整数 H1 ~ Hn分别是其他小朋友的身高 取值范围0 < Hi < 200 且N个正整数各不相同 输出...输出排序结果,各正整数以空格分割 和小明身高差绝对值最小的小朋友排在前面 和小明身高差绝对值最大的小朋友排在后面 如果两个小朋友和小明身高差一样 则个子较小的小朋友排在前面 题解地址 ⭐️ 华为 OD

33820

根据身高重建队列

根据身高重建队列 假设有打乱顺序的一群人站成一个队列。 每个人由一个整数对(h, k)表示,其中h是这个人的身高,k是排在这个人前面且身高大于或等于h的人数。 编写一个算法来重建这个队列。...,我们将他们按照身高从小到大进行排序,之后使用插入的方式进行还原,首先我们假设有n个人,然年后我们将要插入第i个人,现在第0 ... i-1已经排好了位置,无论他们如何站队,对我们将要插入的第i个人都没有影响...,如果身高相同,同样应该将其作为一个空位去处理,之后特殊处理这个位置如果是空位则直接插入,否则插入到其后边的位置。...在官方给出的题解是在排序的时候根据身高升序,在根据前边身高高于他的人的数量进行降序,之后就可以直接进行上述规则而不用特殊处理相等的情况,举个例子,当我们根据上述的排序规则进行排序后得到(5, 2) (5...首先进行排序,这里只是按照身高进行排序,之后取得数组长度n,定义目标数组,遍历排序过后的数组,定义好应该取得的空位置并+1,之后进行n次循环,如果这个位置未定义或者值与要插入的值相同,那么就将应该减少的空位置数量

41530

试题 算法训练 预测身高

但你能预测自己成年后的身高,有公式:   男孩成人后身高=(父亲身高+母亲身高)/2*1.08   女孩成人后身高=(父亲身高*0.923+母亲身高)/2   数学老师听见了,回头说:这是大样本统计拟合公式...生物老师听见了,回头说:结果不是绝对的,影响身高的因素很多,比如营养、疾病、体育锻炼、睡眠、情绪、环境因素等。   老师们齐回头,看见同学们都正在预测自己的身高。   ...约定:   身高的单位用米表示,所以自然是会有小数的。   男性用整数1表示,女性用整数0表示。   ...预测的身高保留三位小数 输入格式   用空格分开的三个数,整数 小数 小数   分别表示:性别 父亲身高 母亲身高 输出格式   一个小数,表示根据上述表示预测的身高(保留三位小数) 样例输入 1 1.91...但你能预测自己成年后的身高,有公式:    * 男孩成人后身高=(父亲身高+母亲身高)/2*1.08    * 女孩成人后身高=(父亲身高*0.923+母亲身高)/2 */

22610

如何科学预测后代的身高

身高是可以预测的吗? 是的,可以。 你以为是父亲和母亲的身高平均值?那为何儿子比女儿身高要高?要理解这个问题,就要懂得如何计算。下面介绍一下计算的方法。...身高的遗传因素 我们知道身高的影响因素简单分为: 身高 = 遗传 + 环境 换为数量遗传学的公式: P = G + E 我们知道,身高受遗传的影响,也受环境的影响,那么多大程度上受遗传的影响呢?...一般认为,人类的身高的遗传力为0.8,这就是说明身高是高遗传力,很大程度上来源于父母的遗传。...我们中国,男生平均身高172,女生平均身高160,身高的遗传力为0.8。...所以,正确的答案是: 儿子的身高为:172+5.2 = 177.2 女儿的身高为:160+5.2 = 165.2 同样的公式,可以计算自己孩子的理论身高

1K30

leetcode-406 根据身高重建队列

每个人由一个整数对(h, k)表示,其中h是这个人的身高,k是排在这个人前面且身高大于或等于h的人数。编写一个算法来重建这个队列。 注意: 总人数少于1100人。...[7,0], [4,4], [7,1], [5,0], [6,1], [5,2]] 输出: [[5,0], [7,0], [5,2], [6,1], [4,4], [7,1]] 思路 首先,大体上按照身高由大到小的顺序进行排序...还有一点需要注意,在身高相同的情况下,前方比本身身高高的人数少的要排在前面。...不是最高身高的情况也是类似的。 于是,我们就需要进行两次排序,像箱子排序一样。所幸,python的sort函数是稳定的,于是我们就先将前方人数进行升序排序,再将身高进行降序排序。...Solution: def reconstructQueue(self, people: List[List[int]]) -> List[List[int]]: # 先按照身高排序

64610

根据身高重建队列

每个 peoplei = hi, ki 表示第 i 个人的身高为 hi ,前面 正好 有 ki 个身高大于或等于 hi 的人。 请你重新构造并返回输入数组 people 所表示的队列。...5 ,没有身高更高或者相同的人排在他前面。...编号为 1 的人身高为 7 ,没有身高更高或者相同的人排在他前面。 编号为 2 的人身高为 5 ,有 2 个身高更高或者相同的人排在他前面,即编号为 0 和 1 的人。...编号为 3 的人身高为 6 ,有 1 个身高更高或者相同的人排在他前面,即编号为 1 的人。 编号为 4 的人身高为 4 ,有 4 个身高更高或者相同的人排在他前面,即编号为 0、1、2、3 的人。...编号为 5 的人身高为 7 ,有 1 个身高更高或者相同的人排在他前面,即编号为 1 的人。 因此 [[5,0],[7,0],[5,2],[6,1],[4,4],[7,1]] 是重新构造后的队列。

19700

根据身高重建队列

每个 people[i] = [hi, ki] 表示第 i 个人的身高为 hi ,前面 正好 有 ki 个身高大于或等于 hi 的人。 请你重新构造并返回输入数组 people 所表示的队列。...5 ,没有身高更高或者相同的人排在他前面。...编号为 1 的人身高为 7 ,没有身高更高或者相同的人排在他前面。 编号为 2 的人身高为 5 ,有 2 个身高更高或者相同的人排在他前面,即编号为 0 和 1 的人。...编号为 3 的人身高为 6 ,有 1 个身高更高或者相同的人排在他前面,即编号为 1 的人。 编号为 4 的人身高为 4 ,有 4 个身高更高或者相同的人排在他前面,即编号为 0、1、2、3 的人。...编号为 5 的人身高为 7 ,有 1 个身高更高或者相同的人排在他前面,即编号为 1 的人。 因此 [[5,0],[7,0],[5,2],[6,1],[4,4],[7,1]] 是重新构造后的队列。

17610
领券