Be the first user to complete this post

Add to List 
Rearrange the Array of Given Range N, such that A[i]=i
Algorithms  Rearrange the Array of Given Range N, such that A[i]=i.
Objective: Given a array of length N, in which elements are in the range of 1 to N. All elements may not present in the array. If element is not present , there will be 1 present in the array. Rearrange the array such that A[i]=i and if i is not present, display 1 at that place. See example
Example:
Approach:  Time Complexity O(N), Space Complexity  O(1)
 Navigate the array.
 Check if element is 1, if yes then ignore it.
 If element is not 1, Check if its at it correct position (i=A[i]), If yes then ignore it.
 If element is not 1, and element is not at its correct position (i!=A[i]) then We need to place it to its correct position but there are two conditions
 Either A[i] is vacate, means A[i]=1, then just put A[i]=i .
 OR A[i] is not vacate, means A[i]=x, then int y=x put A[i]=i. Now we need to place y to its correct place, so repeat from step 3. .
Code:
Output:
Fixed Indexed Array [1, 1, 2, 3, 4, 1, 6, 1, 1, 9] Fixed Indexed Array [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
Also Read: