Đề bài
Xem bản gốc (English)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ụ
Đầ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.
Đầ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.