Gần đây tôi đã có một cuộc phỏng vấn, nơi họ hỏi tôi một câu hỏi " tìm kiếm ".
Câu hỏi là:
Giả sử có một mảng các số nguyên (dương), trong đó mỗi phần tử là một trong hai
+1
hoặc được-1
so sánh với các phần tử liền kề của nó.Thí dụ:
array = [4,5,6,5,4,3,2,3,4,5,6,7,8];
Bây giờ hãy tìm kiếm
7
và trả lại vị trí của nó.
Tôi đã đưa ra câu trả lời này:
Lưu trữ các giá trị trong một mảng tạm thời, sắp xếp chúng và sau đó áp dụng tìm kiếm nhị phân.
Nếu phần tử được tìm thấy, hãy trả lại vị trí của nó trong mảng tạm thời.
(Nếu số xuất hiện hai lần thì trả về số lần xuất hiện đầu tiên)
Nhưng, họ dường như không hài lòng với câu trả lời này.
Câu trả lời đúng là gì?