# Find Maximum number possible by doing at-most K swaps (Stuck in the problem )

Find Maximum number possible by doing at-most K swaps

Given a positive integer, find the maximum integer possible by doing at-most K swap operations on its digits.
Examples:

Input: M = 254, K = 1 Output: 524
Swap 5 with 2 so number becomes 524
Input: M = 254, K = 2 Output:
542 Swap 5 with 2 so number becomes 524
Swap 4 with 2 so number becomes 542

MY CODE
public static void main(String[] args) {

``````    int[] arr= {2,4,5};
System.out.println(MaxNum(arr,1));

}

public static int MaxNum(int[] arr, int s) {

int[] strg=new int[arr.length];

if(s<1)
return 0;

int ans=0;
for (int k = 1; k <arr.length; k++) {

strg = swap(arr, k, 0);
ans=Math.max(strg[0],arr[0]);
MaxNum(strg, s-1);
swap(arr, k, 0);

}

for(int val:strg)
System.out.print(val+".  strg.   ");

return ans;

}

public static int[] swap(int[] arr, int a, int b) {

int temp = arr[a];
arr[a] = arr[b];
arr[b] = temp;

return arr;

}
``````

I am not sure if my approach is right . Also in above code I am not able to print full array with max number so I have just compared the 0th index (just for now).