Skip to content

Commit ba2d38e

Browse files
solves find teh values between two arrays
1 parent d548f61 commit ba2d38e

File tree

2 files changed

+33
-1
lines changed

2 files changed

+33
-1
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -352,7 +352,7 @@
352352
| 1370 | [Increasing Decreasing String](https://leetcode.com/problems/increasing-decreasing-string) | [![Java](assets/java.png)](src/IncreasingDecreasingString.java) | |
353353
| 1374 | [Generate A String With Characters That Have Odd Count](https://leetcode.com/problems/generate-a-string-with-characters-that-have-odd-counts) | [![Java](assets/java.png)](src/GenerateAStringWithCharactersThatHaveOddCounts.java) | |
354354
| 1380 | [Lucky Numbers In A Matrix](https://leetcode.com/problems/lucky-numbers-in-a-matrix) | [![Java](assets/java.png)](src/LuckyNumbersInAMatrix.java) | |
355-
| 1385 | [Find The Distance Value Between 2 Arrays](https://leetcode.com/problems/find-the-distance-value-between-two-arrays) | | |
355+
| 1385 | [Find The Distance Value Between 2 Arrays](https://leetcode.com/problems/find-the-distance-value-between-two-arrays) | [![Java](assets/java.png)](src/FindTheDistanceValuesBetweenTwoArrays.java) | |
356356
| 1389 | [Create Target Array in Given Order](https://leetcode.com/problems/create-target-array-in-the-given-order) | | |
357357
| 1394 | [Find Lucky Integer In An Array](https://leetcode.com/problems/find-lucky-integer-in-an-array) | | |
358358
| 1399 | [Count Largest Group](https://leetcode.com/problems/count-largest-group) | | |
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
import java.util.TreeSet;
2+
3+
public class FindTheDistanceValuesBetweenTwoArrays {
4+
public int findTheDistanceValue(int[] arr1, int[] arr2, int d) {
5+
TreeSet<Integer> set = new TreeSet<>();
6+
for (int number : arr2) {
7+
set.add(number);
8+
}
9+
int distanceValue = 0;
10+
for (int number : arr1) {
11+
if (smallerOrEqual(set, number) < number - d && largerOrEqual(set, number) > number + d) {
12+
distanceValue++;
13+
}
14+
}
15+
return distanceValue;
16+
}
17+
18+
private int smallerOrEqual(TreeSet<Integer> set, int number) {
19+
if (set.contains(number)) return number;
20+
return valIfNull(set.lower(number), Integer.MIN_VALUE);
21+
}
22+
23+
private int largerOrEqual(TreeSet<Integer> set, int number) {
24+
if (set.contains(number)) return number;
25+
return valIfNull(set.higher(number), Integer.MAX_VALUE);
26+
}
27+
28+
private int valIfNull(Integer value, int defaultValue) {
29+
if (value == null) return defaultValue;
30+
return value;
31+
}
32+
}

0 commit comments

Comments
 (0)