Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit f8e9343

Browse files
p189
1 parent 490ff36 commit f8e9343

File tree

5 files changed

+52
-3
lines changed

5 files changed

+52
-3
lines changed

‎AllQuestions.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3007,7 +3007,7 @@ for f in functions:
30073007

30083008
How can we make it print out what we apparently want?
30093009

3010-
## Problem-189:waxing_crescent_moon:
3010+
## [Problem-189](src/main/java/in/ashwanik/dcp/problems/p181_210/p189):sunny:
30113011

30123012

30133013
> This problem was asked by Google.

‎README.md‎

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

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

6-
## **Google (54)**
6+
## **Google (55)**
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)|
1010
|[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)|[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)|
1111
|[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)|[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)|
1212
|[P115](src/main/java/in/ashwanik/dcp/problems/p91_120/p115)|[P118](src/main/java/in/ashwanik/dcp/problems/p91_120/p118)|[P119](src/main/java/in/ashwanik/dcp/problems/p91_120/p119)|[P121](src/main/java/in/ashwanik/dcp/problems/p121_150/p121)|[P125](src/main/java/in/ashwanik/dcp/problems/p121_150/p125)|[P136](src/main/java/in/ashwanik/dcp/problems/p121_150/p136)|[P138](src/main/java/in/ashwanik/dcp/problems/p121_150/p138)|[P142](src/main/java/in/ashwanik/dcp/problems/p121_150/p142)|[P144](src/main/java/in/ashwanik/dcp/problems/p121_150/p144)|[P145](src/main/java/in/ashwanik/dcp/problems/p121_150/p145)|[P159](src/main/java/in/ashwanik/dcp/problems/p151_180/p159)|[P164](src/main/java/in/ashwanik/dcp/problems/p151_180/p164)|
13-
|[P165](src/main/java/in/ashwanik/dcp/problems/p151_180/p165)|[P169](src/main/java/in/ashwanik/dcp/problems/p151_180/p169)|[P175](src/main/java/in/ashwanik/dcp/problems/p151_180/p175)|[P179](src/main/java/in/ashwanik/dcp/problems/p151_180/p179)|[P180](src/main/java/in/ashwanik/dcp/problems/p151_180/p180)|[P181](src/main/java/in/ashwanik/dcp/problems/p181_210/p181)|
13+
|[P165](src/main/java/in/ashwanik/dcp/problems/p151_180/p165)|[P169](src/main/java/in/ashwanik/dcp/problems/p151_180/p169)|[P175](src/main/java/in/ashwanik/dcp/problems/p151_180/p175)|[P179](src/main/java/in/ashwanik/dcp/problems/p151_180/p179)|[P180](src/main/java/in/ashwanik/dcp/problems/p151_180/p180)|[P181](src/main/java/in/ashwanik/dcp/problems/p181_210/p181)|[P189](src/main/java/in/ashwanik/dcp/problems/p181_210/p189)|
1414

1515

1616
## **Facebook (24)**
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
Given an array of elements, return the length of the longest subarray where all
2+
its elements are distinct.
3+
4+
For example, given the array [5, 1, 3, 5, 2, 3, 4, 1], return 5 as the longest
5+
subarray of distinct elements is [5, 2, 3, 4, 1].
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
package in.ashwanik.dcp.problems.p181_210.p189;
2+
3+
import java.util.HashSet;
4+
import java.util.Set;
5+
6+
class Solution {
7+
int maxDistinctLength(int[] array) {
8+
if (array == null || array.length == 0) {
9+
return -1;
10+
}
11+
12+
int max = 0;
13+
int i = 0;
14+
int j = 1;
15+
int currentLength = 1;
16+
Set<Integer> set = new HashSet<>();
17+
set.add(array[0]);
18+
19+
while (i < array.length - 1 && j < array.length) {
20+
if (set.contains(array[j])) {
21+
max = Math.max(currentLength, max);
22+
currentLength--;
23+
set.remove(array[i++]);
24+
} else {
25+
set.add(array[j++]);
26+
currentLength++;
27+
}
28+
}
29+
30+
return Math.max(currentLength, max);
31+
}
32+
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package in.ashwanik.dcp.problems.p181_210.p189;
2+
3+
import org.junit.jupiter.api.Test;
4+
5+
import static org.junit.jupiter.api.Assertions.assertEquals;
6+
7+
public class SolutionTest {
8+
@Test
9+
void testMaxDistinctSubArray() {
10+
assertEquals(5, new Solution().maxDistinctLength(new int[]{5, 1, 3, 5, 2, 3, 4, 1}));
11+
}
12+
}

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /