Skip to content

Commit 6c831a9

Browse files
p118
1 parent 4e6596d commit 6c831a9

File tree

5 files changed

+74
-3
lines changed

5 files changed

+74
-3
lines changed

AllQuestions.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1870,7 +1870,7 @@ That is, generate() should return a tree whose size is unbounded but finite.
18701870
18711871
Given a binary tree, return the level of the tree with minimum sum.
18721872

1873-
## Problem-118:waxing_crescent_moon:
1873+
## [Problem-118](src/main/java/in/ashwanik/dcp/problems/p91_120/p118):sunny:
18741874

18751875

18761876
> This problem was asked by Google.

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@ Solutions to the coding problems from [Daily coding problem](https://dailycoding
33

44
## For all questions, see [here](AllQuestions.md)
55

6-
## **Google (37)**
6+
## **Google (38)**
77
| | | | | | | | | | | | | | | |
88
|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|
99
|[P1](src/main/java/in/ashwanik/dcp/problems/p1_30/p1)|[P3](src/main/java/in/ashwanik/dcp/problems/p1_30/p3)|[P8](src/main/java/in/ashwanik/dcp/problems/p1_30/p8)|[P14](src/main/java/in/ashwanik/dcp/problems/p1_30/p14)|[P17](src/main/java/in/ashwanik/dcp/problems/p1_30/p17)|[P18](src/main/java/in/ashwanik/dcp/problems/p1_30/p18)|[P20](src/main/java/in/ashwanik/dcp/problems/p1_30/p20)|[P23](src/main/java/in/ashwanik/dcp/problems/p1_30/p23)|[P24](src/main/java/in/ashwanik/dcp/problems/p1_30/p24)|[P26](src/main/java/in/ashwanik/dcp/problems/p1_30/p26)|[P31](src/main/java/in/ashwanik/dcp/problems/p31_60/p31)|[P35](src/main/java/in/ashwanik/dcp/problems/p31_60/p35)|[P37](src/main/java/in/ashwanik/dcp/problems/p31_60/p37)|[P42](src/main/java/in/ashwanik/dcp/problems/p31_60/p42)|[P44](src/main/java/in/ashwanik/dcp/problems/p31_60/p44)|
1010
|[P48](src/main/java/in/ashwanik/dcp/problems/p31_60/p48)|[P52](src/main/java/in/ashwanik/dcp/problems/p31_60/p52)|[P56](src/main/java/in/ashwanik/dcp/problems/p31_60/p56)|[P61](src/main/java/in/ashwanik/dcp/problems/p61_90/p61)|[P64](src/main/java/in/ashwanik/dcp/problems/p61_90/p64)|[P67](src/main/java/in/ashwanik/dcp/problems/p61_90/p67)|[P68](src/main/java/in/ashwanik/dcp/problems/p61_90/p68)|[P72](src/main/java/in/ashwanik/dcp/problems/p61_90/p72)|[P73](src/main/java/in/ashwanik/dcp/problems/p61_90/p73)|[P76](src/main/java/in/ashwanik/dcp/problems/p61_90/p76)|[P78](src/main/java/in/ashwanik/dcp/problems/p61_90/p78)|[P80](src/main/java/in/ashwanik/dcp/problems/p61_90/p80)|[P83](src/main/java/in/ashwanik/dcp/problems/p61_90/p83)|[P86](src/main/java/in/ashwanik/dcp/problems/p61_90/p86)|[P90](src/main/java/in/ashwanik/dcp/problems/p61_90/p90)|
11-
|[P94](src/main/java/in/ashwanik/dcp/problems/p91_120/p94)|[P100](src/main/java/in/ashwanik/dcp/problems/p91_120/p100)|[P104](src/main/java/in/ashwanik/dcp/problems/p91_120/p104)|[P108](src/main/java/in/ashwanik/dcp/problems/p91_120/p108)|[P111](src/main/java/in/ashwanik/dcp/problems/p91_120/p111)|[P113](src/main/java/in/ashwanik/dcp/problems/p91_120/p113)|[P115](src/main/java/in/ashwanik/dcp/problems/p91_120/p115)|
11+
|[P94](src/main/java/in/ashwanik/dcp/problems/p91_120/p94)|[P100](src/main/java/in/ashwanik/dcp/problems/p91_120/p100)|[P104](src/main/java/in/ashwanik/dcp/problems/p91_120/p104)|[P108](src/main/java/in/ashwanik/dcp/problems/p91_120/p108)|[P111](src/main/java/in/ashwanik/dcp/problems/p91_120/p111)|[P113](src/main/java/in/ashwanik/dcp/problems/p91_120/p113)|[P115](src/main/java/in/ashwanik/dcp/problems/p91_120/p115)|[P118](src/main/java/in/ashwanik/dcp/problems/p91_120/p118)|
1212

1313

1414
## **Facebook (17)**
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
Given a sorted list of integers, square the elements and give the output in
2+
sorted order.
3+
4+
For example, given [-9, -2, 0, 2, 3], return [0, 4, 4, 9, 81].
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
package in.ashwanik.dcp.problems.p91_120.p118;
2+
3+
class Solution {
4+
5+
int[] sortArray(int[] array) {
6+
if (array == null || array.length == 0) {
7+
return array;
8+
}
9+
10+
int negative = -1;
11+
12+
for (int index = 0; index < array.length; index++) {
13+
if (array[index] < 0) {
14+
negative = index;
15+
}
16+
}
17+
18+
int left = negative;
19+
20+
int right = negative + 1;
21+
22+
23+
int[] result = new int[array.length];
24+
int k = 0;
25+
while (left >= 0 && right < array.length) {
26+
int leftNumber = Math.abs(array[left]);
27+
int rightNumber = Math.abs(array[right]);
28+
29+
if (leftNumber < rightNumber) {
30+
result[k] = leftNumber * leftNumber;
31+
left--;
32+
} else {
33+
result[k] = rightNumber * rightNumber;
34+
right++;
35+
}
36+
k++;
37+
}
38+
39+
while (left >= 0) {
40+
result[k++] = array[left] * array[left];
41+
left--;
42+
}
43+
44+
while (right < array.length) {
45+
result[k++] = array[right] * array[right];
46+
right++;
47+
}
48+
49+
50+
return result;
51+
}
52+
53+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package in.ashwanik.dcp.problems.p91_120.p118;
2+
3+
import org.junit.jupiter.api.Test;
4+
5+
import static org.junit.jupiter.api.Assertions.assertArrayEquals;
6+
7+
public class SolutionTest {
8+
@Test
9+
void testSortArray() {
10+
assertArrayEquals(new int[]{}, new Solution().sortArray(new int[]{}));
11+
assertArrayEquals(new int[]{0, 4, 4, 9, 81}, new Solution().sortArray(new int[]{-9, -2, 0, 2, 3}));
12+
assertArrayEquals(new int[]{0, 4, 4, 9, 81}, new Solution().sortArray(new int[]{0, 2, 2, 3, 9}));
13+
}
14+
}

0 commit comments

Comments
 (0)