运动员排序-Hackerrank解决方案
#初学者 #编程 #python #算法

运动员排序-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

输入格式

  • 第一行包含NM被空间隔开。
  • 下一条N线包含由空间隔开的M元素。
  • 在最后一行中,我们必须输入K的值。

输出格式

  • 打印排序表的N线。每行应包含空间分离的元素。

约束

  • 1 <= N, M <= 1000
  • 0 <= K < M
  • X <= 100 X是表中的任何元素。

注意:k从0M-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),因为我们使用的是Innouilt sort()函数,该功能具有O(n log n)的时间复杂性。

  • 上述第二个解决方案的时间复杂性是O(n^2),因为我们使用嵌套环并比较值。如果第一个值大于第二值,则我们将交换值。

Image description

问题说明取自Hackerrank,解决方案由 CodePerFectPlus Team

实施