-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathfix34.java
More file actions
38 lines (32 loc) · 1.09 KB
/
fix34.java
File metadata and controls
38 lines (32 loc) · 1.09 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
//Return an array that contains exactly the same numbers as the given array, but rearranged so that every 3 is immediately followed by a 4. Do not move the 3's, but every other number may move. The array contains the same number of 3's and 4's, every 3 has a number after it that is not a 3, and a 3 appears in the array before any 4.
//
//fix34([1, 3, 1, 4]) → [1, 3, 4, 1]
//fix34([1, 3, 1, 4, 4, 3, 1]) → [1, 3, 4, 1, 1, 3, 4]
//fix34([3, 2, 2, 4]) → [3, 4, 2, 2]
class test {
public static void main(String[] args){
int original[] = new int[]{5, 3, 5, 4, 5, 4, 5, 4, 3, 5, 3, 5};
int result[] = new int[original.length];
for (int i=0;i<original.length;i++)
System.out.print(original[i] + "\t");
System.out.print("\n");
result=fix34(original);
for (int i=0;i<result.length;i++)
System.out.print(result[i] + "\t");
}
public static int[] fix34(int[] nums) {
int j=nums.length-1;
for (int i=0;i<nums.length;i++){
if (nums[i]!=3)
continue;
for (;j>=0 ;j--){
if (nums[j]!=4)
continue;
nums[j]=nums[i+1];
nums[i+1]=4;
break;
}
}
return nums;
}
}