运动员排序-Hackerrank是基于排序和嵌套列表的Python中等困难问题。这是python实践问题的一部分。在这篇文章中,我们将看到如何在Python中解决这一挑战
问题陈述和解释
在此问题陈述中,我们必须针对Kth
列对给定的电子表格进行排序。电子表格由N
行和M
列组成。我们必须打印排序的表。
假设给定的电子表格为
sr。否。 | 年龄 | 标记 | 高度 | 重量 | 卷号 | class |
---|---|---|---|---|---|---|
1 | 10 | 12 | 170 | 40 | 3 | 8 |
2 | 12 | 12 | 180 | 50 | 1 | 9 |
3 | 8 | 10 | 160 | 45 | 2 | 7 |
,我们必须针对Kth
列对电子表格进行排序。假设K = 1
然后排序的电子表格将基于Age
列。
sr。否。 | 年龄 | 标记 | 高度 | 重量 | 卷号 | class |
---|---|---|---|---|---|---|
3 | 8 | 10 | 160 | 45 | 2 | 7 |
1 | 10 | 12 | 170 | 40 | 3 | 8 |
2 | 12 | 12 | 180 | 50 | 1 | 9 |
输入格式
- 第一行包含
N
和M
被空间隔开。 - 下一条
N
线包含由空间隔开的M
元素。 - 在最后一行中,我们必须输入
K
的值。
输出格式
- 打印排序表的
N
线。每行应包含空间分离的元素。
约束
1 <= N, M <= 1000
0 <= K < M
-
X <= 100
X
是表中的任何元素。
注意:k从0
到M-1
索引,即第一列索引为0
。
这篇文章中提供了两个解决方案。第一个是使用内置的sort()
和lambda
函数,第二个功能是使用嵌套循环并比较值。如果第一个值大于第二值,则我们将交换值。
排序电子表格后,我们必须打印排序的电子表格。上述电子表格的输出将以
为单位
7 1 0
10 2 5
6 5 9
9 9 9
1 23 12
运动员在Python中排序Hackerrank解决方案
解决方案的时间复杂性
-
上述第一个解决方案的时间复杂性是
O(n log n)
,因为我们使用的是Innouiltsort()
函数,该功能具有O(n log n)
的时间复杂性。 -
上述第二个解决方案的时间复杂性是
O(n^2)
,因为我们使用嵌套环并比较值。如果第一个值大于第二值,则我们将交换值。
问题说明取自Hackerrank,解决方案由 CodePerFectPlus Team
实施