Java Bài 10.A8: Ứng dụng tìm kiếm nhị phân.
Cho mảng số nguyên A[] có N phần tử đã được sắp xếp theo thứ tự tăng dần. Hãy viết các hàm tìm kiếm sau với độ phức tạp O(logN) : 1.Tìm vị trí xuất hiện đầu tiên của phần tử X trong mảng, nếu không tồn tại X in ra -1. 2.Tìm vị trí(tính từ 0)xuất hiện cuối cùng của phần tử X trong mảng, nếu không tồn tại X in ra -1. 3.Tìm vị trí(tính từ 0) xuất hiện đầu tiên của phần tử >= X trong mảng, nếu không tồn tại phần tử >=X in ra -1. 4.Tìm vị trí(tính từ 0) xuất hiện đầu tiên của phần tử > X trong mảng, nếu không tồn tại phần tử >X in ra -1. 5.Tìm số lần xuất hiện của phần tử X trong mảng thông qua kết quả của hàm 1 và 2.
Input Format
Dòng đầu tiên là số nguyên dương N và X Dòng thứ 2 là N phần tử trong mảng, các phần tử viết cách nhau một dấu cách.(1<=N<=10^6; 0<=A[i],X<=10^6)
Constraints
.
Output Format
In ra 4 kết quả của 4 hàm đề bài yêu cầu.
Ví dụ:
Dữ liệu vào
10 41
41 41 11478 15724 18467 19169 24464 26500 26962 29358
Dữ liệu ra
0
1
0
2
2
Comments