Hướng dẫn giải của Tích lớn nhất

Chỉ dùng lời giải này khi không có ý tưởng, và đừng copy-paste code từ lời giải này. Hãy tôn trọng người ra đề và người làm lời giải.


Nộp code mẫu trước khi tự giải được bài tập là một hành vi có thể bị ban.

Tác giả: BJMinhNhut

Nhận xét

Nếu dãy chỉ có hai phần tử, đáp án sẽ là tích hai phần tử đó.

Xét dãy độ dài ~> 2~, ta biết tích hai số dương là số dương, tích hai số âm là số dương. Vì vậy để tích lớn nhất, ta cần hai số dương lớn nhất hoặc hai số âm nhỏ nhất. Nếu không tồn tại hai số dương và hai số âm, thì chắc chắn dãy chứa số ~0~, khi đó đáp án sẽ là ~0~.

Thuật toán

Ta lần lượt tìm tích của hai số lớn nhất và tích của hai số nhỏ nhất, rồi in ra tích lớn hơn.

Độ phức tạp

~O(n)~ hoặc ~O(nlogn)~.


Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.