#STK0000083. Phần tử lớn hơn tiếp theo I (Next Greater Element I)
Phần tử lớn hơn tiếp theo I (Next Greater Element I)
Phần tử lớn hơn tiếp theo I (Next Greater Element I)
Nguồn: LeetCode
Phiên bản: Phước Hưng OJ Extended
Đề bài
Cho hai mảng số nguyên khác nhau từng đôi nums1 và nums2, trong đó mọi phần tử của nums1 đều xuất hiện trong nums2. Với mỗi giá trị của nums1, xét vị trí của trong nums2 và tìm phần tử đầu tiên ở bên phải có giá trị lớn hơn . Nếu không có, kết quả là .
Input
Dòng đầu chứa và , là độ dài nums1 và nums2. Dòng thứ hai chứa phần tử của nums1. Dòng thứ ba chứa phần tử của nums2.
Output
In số nguyên theo thứ tự của nums1, mỗi số là phần tử lớn hơn tiếp theo tương ứng trong nums2, hoặc .
Subtask
- Subtask 1 (30 điểm): Các điều kiện gốc và
nums2tăng nghiêm ngặt. - Subtask 2 (70 điểm): , ; mỗi mảng không có phần tử lặp và
nums1là tập con củanums2.
Ví dụ
Input
3 4
4 1 2
1 3 4 2
Output
-1 3 -1
Giải thích
Ta có nums1 = [4,1,2] và nums2 = [1,3,4,2].
- Giá trị nằm ở vị trí thứ của
nums2. Bên phải chỉ còn , nên không có phần tử lớn hơn tiếp theo: kết quả là . - Giá trị nằm ở vị trí đầu của
nums2. Phần tử ngay bên phải là , nên kết quả là . - Giá trị nằm ở vị trí cuối của
nums2, nên không có phần tử nào ở bên phải: kết quả là .
Theo thứ tự của nums1, chương trình in -1 3 -1.