Đề bài
Trả về giá trị lớn nhất trong danh sách bằng cách kiểm tra từng phần tử một lần.
Cài đặt array_maximum(numbers).
Đầu vào
numbers: Một danh sách số nguyên không rỗng.
Đầu ra
Trả về giá trị lớn nhất.
Ràng buộc
1 ≤ độ dài ≤ 100.000
Ví dụ
Đầu vào:
numbers = [3, 9, 2]
Kết quả mong đợi:
expected = 9
Đầu vào:
std::vector<long long> numbers = {3, 9, 2};
Kết quả mong đợi:
long long expected = 9;
Đầu vào:
long[] numbers = new long[] {3, 9, 2};
Kết quả mong đợi:
long expected = 9;
Giải thích
9 lớn hơn 3 và 2.
Đầu vào:
numbers = [-4, -1, -7]
Kết quả mong đợi:
expected = -1
Đầu vào:
std::vector<long long> numbers = {-4, -1, -7};
Kết quả mong đợi:
long long expected = -1;
Đầu vào:
long[] numbers = new long[] {-4, -1, -7};
Kết quả mong đợi:
long expected = -1;
Giải thích
Với toàn giá trị âm, -1 là lớn nhất.
Hướng tiếp cận
Hãy tự thử trước, sau đó mở từng gợi ý một.
Gợi ý 1
Bắt đầu với phần tử đầu tiên làm giá trị tốt nhất hiện tại.
Gợi ý 2
Duyệt mảng một lần và cập nhật giá trị tốt nhất mỗi khi gặp giá trị lớn hơn.
Gợi ý 3
Đừng giả định các giá trị đều dương; số âm vẫn có thể là lớn nhất.
Độ phức tạp mong đợi
thời gian O(n), bộ nhớ phụ O(1)
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.