Tất cả thử thách
Dễ 0 đã giải Tỷ lệ chấp nhận 0%

Trung vị của một danh sách

Tìm giá trị ở giữa của một danh sách sau khi sắp xếp.

Sắp xếp các giá trị theo thứ tự tăng dần. Nếu số lượng giá trị là lẻ, lấy giá trị ở giữa. Nếu là chẵn, lấy trung bình cộng của hai giá trị ở giữa. Bài toán này chỉ chấp nhận danh sách không rỗng.

Cài đặt hàm median_number(numbers).

Đầu vào

numbers: Danh sách các giá trị không rỗng.

Đầu ra

Trả về trung vị dưới dạng một số; kết quả có thể kết thúc bằng .5.

Ràng buộc

1 ≤ độ dài danh sách ≤ 100.000. Mỗi giá trị là một số nguyên trong khoảng từ −1.000.000.000 đến 1.000.000.000.

Ví dụ

Ví dụ 1
Đầu vào:
numbers = [2, 8, 4, 10]

Kết quả mong đợi:
expected = 6.0
Đầu vào:
std::vector<long long> numbers = {2, 8, 4, 10};

Kết quả mong đợi:
double expected = 6.0;
Đầu vào:
long[] numbers = new long[] {2, 8, 4, 10};

Kết quả mong đợi:
double expected = 6.0;

Giải thích

Thứ tự sau khi sắp xếp là 2, 4, 8, 10. Cặp ở giữa có trung bình cộng là (4 + 8) / 2 = 6.

Ví dụ 2
Đầu vào:
numbers = [9, 1, 4]

Kết quả mong đợi:
expected = 4.0
Đầu vào:
std::vector<long long> numbers = {9, 1, 4};

Kết quả mong đợi:
double expected = 4.0;
Đầu vào:
long[] numbers = new long[] {9, 1, 4};

Kết quả mong đợi:
double expected = 4.0;

Giải thích

Thứ tự sau khi sắp xếp là 1, 4, 9, giá trị ở giữa là 4.

Tham khảo

Thử thách này đã được điều chỉnh cho CodeUtility. Hãy làm theo đề bài và các ràng buộc ở trên.

Học hỏi từ người khác

Giải pháp cộng đồng

Chưa có giải pháp nào được chia sẻ. Hãy giải thử thách này để đăng giải pháp đầu tiên.