160 / 205
Abramyan · ArrayQiyin15 ball· ~11 daqiqa

Massiv mediani

N ta elementli arr massivi berilgan. Uning medianini toping: massiv tartiblanganda N toq bo'lsa o'rtadagi element, juft bo'lsa o'rtadagi ikki elementning o'rta arifmetigi. Natija float64 bo'ladi.

example.go
func medianUnsorted(N int, arr []int) float64 {
    // ...
}

Misollar

kod
Input: N=5, arr=[3,7,2,9,1]
Output: 3
kod
Input: N=6, arr=[10,5,15,8,3,20]
Output: 9
kod
Input: N=4, arr=[1,10,5,8]
Output: 6.5

Maslahatlar

  1. Asl massivni o'zgartirmaslik uchun nusxasini oling (copy) va sort.Ints bilan tartiblang.
  2. N toq bo'lsa sorted[N/2], juft bo'lsa (sorted[N/2-1] + sorted[N/2]) / 2.