Cho một mảng số nguyên arr gồm n phần tử. Tìm và in ra tất cả các phần tử arr[i] sao cho arr[i] > arr[i – 1](nếu có) và arr[i] > arr[i + 1](nếu có).
Cho ví dụ
Input: arr[] = {1, 3, 2, 6, 5, 9}, n = 6
Output: 3, 6. 9
Bài này có vẽ simple, mình sẽ dùm linear search để duyệt từng phần tử và kiếm tra xem nó có lớn hơn hàng xóm của nó hay không =).
public static void main(String[] args) {
        int[] arr = {1, 3, 2, 6, 5, 9};
        int n = arr.length;
        for (int i = 0; i < n; i++) {
            if (((i - 1 >= 0 && arr[i] >= arr[i - 1]) &&  (i + 1 <= n - 1 && arr[i] >= arr[i+ 1]))
                    || (i - 1 < 0 && arr[i] >= arr[i + 1])
                    || (i + 1 > n - 1 && arr[i] > arr[i - 1])) {
                System.out.println(arr[i]);
            }
        }
    }
Độ phức tạp: O(n)