Đề bài
Trả về giá trị nhỏ 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_minimum(numbers).
Đầu vào
numbers: Một danh sách số nguyên không rỗng.
Đầu ra
Trả về giá trị nhỏ 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 = 2
Đầu vào:
std::vector<long long> numbers = {3, 9, 2};
Kết quả mong đợi:
long long expected = 2;
Đầu vào:
long[] numbers = new long[] {3, 9, 2};
Kết quả mong đợi:
long expected = 2;
Giải thích
2 nhỏ hơn 3 và 9.
Đầu vào:
numbers = [0, -5, 5]
Kết quả mong đợi:
expected = -5
Đầu vào:
std::vector<long long> numbers = {0, -5, 5};
Kết quả mong đợi:
long long expected = -5;
Đầu vào:
long[] numbers = new long[] {0, -5, 5};
Kết quả mong đợi:
long expected = -5;
Giải thích
-5 là giá trị nhỏ 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
Theo dõi giá trị nhỏ nhất khi duyệt mảng một lần.
Gợi ý 2
So sánh từng phần tử với giá trị tốt nhất hiện tại và chỉ cập nhật khi nhỏ hơn.
Gợi ý 3
Nhớ rằng mảng không rỗng, nên có thể bắt đầu từ phần tử đầu tiên.
Độ 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.