1 parent e31c8a5 commit 9d4be99Copy full SHA for 9d4be99
Med670.java
@@ -0,0 +1,32 @@
1
+//maximum swap
2
+
3
4
+ class Solution {
5
+ public int maximumSwap(int num) {
6
+ char numArr[] = Integer.toString(num).toCharArray();
7
+ int n = numArr.length;
8
+ char maxElement = numArr[n-1];
9
+ int maxIndex = n-1;
10
+ int swapIdx1 = -1;
11
+ int swapIdx2 = -1;
12
+ for(int i=n-2;i>=0;i--){
13
+ if(numArr[i] > maxElement){
14
+ maxElement = numArr[i];
15
+ maxIndex = i;
16
+ }else if(numArr[i] < maxElement){
17
+ swapIdx1 = i;
18
+ swapIdx2 = maxIndex;
19
+ }
20
21
22
+ //perform swapping
23
+ if(swapIdx1!=-1){
24
+ char temp = numArr[swapIdx1];
25
+ numArr[swapIdx1] = numArr[swapIdx2];
26
+ numArr[swapIdx2] = temp;
27
28
+ return Integer.parseInt(new String(numArr));
29
30
31
32
0 commit comments