Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit afc4abb

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 6b51c15 commit afc4abb

File tree

2 files changed

+69
-43
lines changed

2 files changed

+69
-43
lines changed

.idea/workspace.xml

Lines changed: 11 additions & 17 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/com/raj/MakeArrayStrictlyIncreasing.java

Lines changed: 58 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -42,39 +42,71 @@ public static void main(String[] args) {
4242
// Logic.
4343
// Sort the option array.
4444
Arrays.sort(arr2);
45-
for (int i = 1; i < arr1.length - 1; i++) {
46-
if (arr1[i] >= arr1[i + 1]) {
47-
boolean isValueFounded = false;
48-
if (!isInitialValueChanged) {
49-
for (int j = 0; j < arr2.length; j++) {
50-
if (arr1[i - 1] < arr2[j]) {
51-
arr1[i] = arr2[j];
52-
isValueFounded = true;
53-
isInitialValueChanged = true;
54-
i--;
55-
ans++;
56-
break;
57-
}
58-
}
45+
// Check for the first index.
46+
if(arr1[0]>=arr2[1]){
47+
boolean isValueFounded = false;
48+
for (int j = 0; j < arr2.length; j++) {
49+
if (arr1[ 1] > arr2[j]) {
50+
arr1[0] = arr2[j];
51+
isValueFounded = true;
52+
ans++;
53+
break;
5954
}
60-
if (!isValueFounded) {
61-
for (int j = 0; j < arr2.length; j++) {
62-
if (arr1[i] < arr2[j]) {
63-
arr1[i + 1] = arr2[j];
64-
isValueFounded = true;
65-
isInitialValueChanged = false;
66-
ans++;
67-
break;
68-
}
55+
}
56+
if(!isValueFounded){
57+
ans=-1;
58+
}
59+
60+
// 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];
66+
isValueFounded = true;
67+
ans++;
68+
break;
6969
}
7070
}
71-
if (!isValueFounded) {
72-
ans = -1;
73-
break;
71+
if(!isValueFounded){
72+
ans=-1;
7473
}
7574
}
7675
}
7776

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+
}}
109+
78110
// Display the result.
79111
if (ans > 0) {
80112
System.out.println("Yes, array can be made strictly increasing using the values from another array.");

0 commit comments

Comments
 (0)