QUESTION:
You are given an array of strings names, and an array heights that consists of distinct positive integers. Both arrays are of length n.
For each index i, names[i] and heights[i] denote the name and height of the ith person.
Return names sorted in descending order by the people’s heights.
Example 1:
Input: names = ["Mary","John","Emma"], heights = [180,165,170]
Output: ["Mary","Emma","John"]
Explanation: Mary is the tallest, followed by Emma and John.
Example 2:
Input: names = ["Alice","Bob","Bob"], heights = [155,185,150]
Output: ["Bob","Alice","Bob"]
Explanation: The first Bob is the tallest, followed by Alice and the second Bob.
Constraints:
n == names.length == heights.length
1 <= n <= 103
1 <= names[i].length <= 20
1 <= heights[i] <= 105
names[i] consists of lower and upper case English letters.
All the values of heights are distinct.
EXPLANATION:
用冒泡排序的方式, 将name和height一起进行调整即可.
SOLUTION:
fun sortPeople(names: Array<String>, heights: IntArray): Array<String> {
for (i in heights.indices) {
for (j in i until heights.size) {
if (heights[j] > heights[i]) {
var tmp:Int = heights[j]
heights[j] = heights[i]
heights[i] = tmp
var tmpName:String = names.get(j)
names.set(j, names.get(i))
names.set(i, tmpName)
}
}
}
return names
}