Skip to content

Commit 1b9726c

Browse files
committed
Corrected the invalid answer: Have implemented the program to find whether the array can be made strictly increasing using the values from another array.
1 parent afc4abb commit 1b9726c

File tree

1 file changed

+47
-45
lines changed

1 file changed

+47
-45
lines changed

src/com/raj/MakeArrayStrictlyIncreasing.java

Lines changed: 47 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -43,69 +43,71 @@ public static void main(String[] args) {
4343
// Sort the option array.
4444
Arrays.sort(arr2);
4545
// Check for the first index.
46-
if(arr1[0]>=arr2[1]){
46+
if (arr1[0] >= arr2[1]) {
4747
boolean isValueFounded = false;
48-
for (int j = 0; j < arr2.length; j++) {
49-
if (arr1[ 1] > arr2[j]) {
50-
arr1[0] = arr2[j];
48+
for (int j : arr2) {
49+
if (arr1[1] > j) {
50+
arr1[0] = j;
5151
isValueFounded = true;
5252
ans++;
5353
break;
5454
}
5555
}
56-
if(!isValueFounded){
57-
ans=-1;
56+
if (!isValueFounded) {
57+
ans = -1;
5858
}
5959

6060
// Check for the last index.
61-
if(ans!=-1 && arr1[arr1.length-2]>=arr1[arr1.length-1]){
62-
isValueFounded = false;
63-
for (int j = 0; j < arr2.length; j++) {
64-
if (arr1[arr1.length-2] < arr2[j]) {
65-
arr1[arr1.length-1] = arr2[j];
61+
if (ans != -1 && arr1[arr1.length - 2] >= arr1[arr1.length - 1]) {
62+
isValueFounded = false;
63+
for (int j : arr2) {
64+
if (arr1[arr1.length - 2] < j) {
65+
arr1[arr1.length - 1] = j;
6666
isValueFounded = true;
6767
ans++;
6868
break;
6969
}
7070
}
71-
if(!isValueFounded){
72-
ans=-1;
71+
if (!isValueFounded) {
72+
ans = -1;
7373
}
7474
}
7575
}
7676

77-
if(ans!=-1){ for (int i = 1; i < arr1.length - 1; i++) {
78-
if (arr1[i] >= arr1[i + 1]) {
79-
boolean isValueFounded = false;
80-
if (!isInitialValueChanged) {
81-
for (int j = 0; j < arr2.length; j++) {
82-
if (arr1[i - 1] < arr2[j]) {
83-
arr1[i] = arr2[j];
84-
isValueFounded = true;
85-
isInitialValueChanged = true;
86-
i--;
87-
ans++;
88-
break;
89-
}
90-
}
91-
}
92-
if (!isValueFounded) {
93-
for (int j = 0; j < arr2.length; j++) {
94-
if (arr1[i] < arr2[j]) {
95-
arr1[i + 1] = arr2[j];
96-
isValueFounded = true;
97-
isInitialValueChanged = false;
98-
ans++;
99-
break;
100-
}
101-
}
102-
}
103-
if (!isValueFounded) {
104-
ans = -1;
105-
break;
106-
}
107-
}
108-
}}
77+
if (ans != -1) {
78+
for (int i = 1; i < arr1.length - 1; i++) {
79+
if (arr1[i] >= arr1[i + 1]) {
80+
boolean isValueFounded = false;
81+
if (!isInitialValueChanged) {
82+
for (int j : arr2) {
83+
if (arr1[i - 1] < j) {
84+
arr1[i] = j;
85+
isValueFounded = true;
86+
isInitialValueChanged = true;
87+
i--;
88+
ans++;
89+
break;
90+
}
91+
}
92+
}
93+
if (!isValueFounded) {
94+
for (int j : arr2) {
95+
if (arr1[i] < j) {
96+
arr1[i + 1] = j;
97+
isValueFounded = true;
98+
isInitialValueChanged = false;
99+
ans++;
100+
break;
101+
}
102+
}
103+
}
104+
if (!isValueFounded) {
105+
ans = -1;
106+
break;
107+
}
108+
}
109+
}
110+
}
109111

110112
// Display the result.
111113
if (ans > 0) {

0 commit comments

Comments
 (0)