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.

AnswerBot
4mo

Given a permutation of 'N' integers, rearrange the numbers to form the lexicographically next greater permutation.

  • Iterate from right to left to find the first element that is smaller than the element ...read more

Help your peers!
Select
Add answer anonymously...

Nagarro Software Developer interview questions & answers

A Software Developer was asked 8mo agoQ. Explain Kafka and how you would implement it.
A Software Developer was asked 9mo agoQ. Is the directory a file?
A Software Developer was asked 9mo agoQ. What is memory segmentation?

Popular interview questions of Software Developer

A Software Developer was asked 8mo agoQ1. Explain Kafka and how you would implement it.
A Software Developer was asked 9mo agoQ2. Is the directory a file?
A Software Developer was asked 9mo agoQ3. What is memory segmentation?
Nagarro Software Developer Interview Questions
Stay ahead in your career. Get AmbitionBox app
play-icon
play-icon
qr-code
Trusted by over 1.5 Crore job seekers to find their right fit company
80 L+

Reviews

10L+

Interviews

4 Cr+

Salaries

1.5 Cr+

Users

Contribute to help millions

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

Follow Us
  • Youtube
  • Instagram
  • LinkedIn
  • Facebook
  • Twitter
Profile Image
Hello, Guest
AmbitionBox Employee Choice Awards 2025
Winners announced!
awards-icon
Contribute to help millions!
Write a review
Write a review
Share interview
Share interview
Contribute salary
Contribute salary
Add office photos
Add office photos
Add office benefits
Add office benefits