Given two integers N and K, the task is to find a permutation of first 2*N natural numbers such that the following equation is satisfied.
Note: The value of K will always be less than or equal to N.
Input : N = 1, K = 0 Output : 1 2 The result of the above expression will be: |1-2|-|1-2| =0 Input : N = 2, K = 1 Output : 2 1 3 4 The result of the above expression will be: (|2-1|+|3-4|)-(|2-1+3-4|) = 2
Consider the sorted permutation:
1, 2, 3, 4, 5, 6....
The result of the expression will come out to be exactly 0. If we swap any 2 indices 2i-1 and 2i, the result will increase by exactly 2. So we need to make K such swaps.
Below is the implementation of the above approach:
2 1 3 4
Time Complexity: O(N)
Auxiliary Space: O(1)
- Find the good permutation of first N natural numbers
- Find permutation of first N natural numbers that satisfies the given condition
- Find the number of sub arrays in the permutation of first N natural numbers such that their median is M
- Permutation of numbers such that sum of two consecutive numbers is a perfect square
- Deriving the expression of Fibonacci Numbers in terms of golden ratio
- Euler zigzag numbers ( Alternating Permutation )
- Find all possible outcomes of a given expression
- Minimum number of prefix reversals to sort permutation of first N numbers
- Find the permutation p from the array q such that q[i] = p[i+1] - p[i]
- Minimum number of given operations required to convert a permutation into an identity permutation
- Find smallest permutation of given number
- Find permutation with maximum remainder Sum
- How to find Lexicographically previous permutation?
- Find a permutation such that number of indices for which gcd(p[i], i) > 1 is exactly K
- Find the maximum value permutation of a graph
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.