86 / 205
LeetCode · EasyOson10 ball· ~10 daqiqa

Sort the People

Sizga bir xil uzunlikdagi names va heights massivlari berilgan. Har bir insonning ismi va bo'yi mos ravishda ifodalangan. heights dagi barcha qiymatlar takrorlanmas deb hisoblang.

Siz odamlarning ismlarini ularning bo'ylariga mos ravishda kamayish tartibida (eng uzundan eng kaltagacha) qaytarishingiz kerak.

example.go
func solve(names []string, heights []int) []string {
    // ...
}

Misollar

kod
Input: names = ["Mary","John","Emma"], heights = [180,165,170]
Output: ["Mary","Emma","John"]
Tushuntirish: Mary eng uzun (180), keyin Emma (170), va nihoyat John (165).
kod
Input: names = ["Alice","Bob","Bob"], heights = [155,185,150]
Output: ["Bob", "Alice", "Bob"]
kod
Input: names = ["a", "b", "c"], heights = [1, 3, 2]
Output: ["b", "c", "a"]

Maslahatlar

  1. Ismlarni to'g'ridan-to'g'ri saralash o'rniga, indekslarni bo'ylarga qarab saralashni o'ylang.
  2. 0 dan len(names)-1 gacha indekslardan iborat massiv yarating va uni heights qiymatlariga qarab kamayish tartibida saralang, so'ng saralangan indekslar tartibida names dan mos ismlarni yig'ib natija hosil qiling.