Next Permutation Problem Statement

You are given a permutation of 'N' integers. A sequence of 'N' integers is considered a permutation if it includes all integers from 1 to 'N' exactly once. Your task is to rearrange these numbers to form the lexicographically next greater permutation.

To determine which of two permutations is lexicographically smaller, compare their first elements. If they are the same, move to the second elements, and so on. If we have two permutations X and Y, then X is lexicographically smaller if X[i] < Y[i], where ‘i’ is the first index where the permutations differ.

Example:

[2, 1, 3, 4] is lexicographically smaller than [2, 1, 4, 3].

Input:
The first line contains a single integer ‘T’ representing the number of test cases.

The first line of each test case contains an integer ‘N’ representing the length of the permutation.

The second line contains ‘N’ space-separated integers which are the elements of the permutation.
Output:
For each test case, print the elements of the lexicographically next greater permutation with a single space separator. If the lexicographically next greater permutation does not exist, print the lexicographically smallest permutation.

Output for each test case will be printed on a separate line.
Constraints:
  • 1 <= T <= 50
  • 1 <= N <= 10000
  • 1 <= P[i] <= N
  • Time limit: 1 sec
Note:

You do not need to print anything; it has already been handled.

Be the first one to answer
Add answer anonymously...
SAP Software Developer Interview Questions
Stay ahead in your career. Get AmbitionBox app
qr-code
Helping over 1 Crore job seekers every month in choosing their right fit company
65 L+

Reviews

4 L+

Interviews

4 Cr+

Salaries

1 Cr+

Users/Month

Contribute to help millions

Made with ❤️ in India. Trademarks belong to their respective owners. All rights reserved © 2024 Info Edge (India) Ltd.

Follow us
  • Youtube
  • Instagram
  • LinkedIn
  • Facebook
  • Twitter