Skip to content

Commit 33011af

Browse files
authored
feat: add js solution to lc problem: No.1855. Maximum Distance Between a Pair of Values (doocs#378)
1 parent 0f9c7ed commit 33011af

File tree

3 files changed

+73
-0
lines changed

3 files changed

+73
-0
lines changed

solution/1800-1899/1855.Maximum Distance Between a Pair of Values/README.md

+26
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,32 @@ public:
140140
};
141141
```
142142
143+
### **JavaScript**
144+
145+
```js
146+
/**
147+
* @param {number[]} nums1
148+
* @param {number[]} nums2
149+
* @return {number}
150+
*/
151+
var maxDistance = function(nums1, nums2) {
152+
let res = 0;
153+
for (let i = 0; i < nums1.length; i++) {
154+
let left = 0, right = nums2.length - 1;
155+
while (left <= right) {
156+
mid = (left + right) >> 1;
157+
if (nums2[mid] >= nums1[i]) {
158+
res = Math.max(res, mid - i);
159+
left = mid + 1;
160+
} else {
161+
right = mid - 1;
162+
}
163+
}
164+
}
165+
return res;
166+
};
167+
```
168+
143169
### **...**
144170

145171
```

solution/1800-1899/1855.Maximum Distance Between a Pair of Values/README_EN.md

+26
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,32 @@ public:
127127
};
128128
```
129129
130+
### **JavaScript**
131+
132+
```js
133+
/**
134+
* @param {number[]} nums1
135+
* @param {number[]} nums2
136+
* @return {number}
137+
*/
138+
var maxDistance = function(nums1, nums2) {
139+
let res = 0;
140+
for (let i = 0; i < nums1.length; i++) {
141+
let left = 0, right = nums2.length - 1;
142+
while (left <= right) {
143+
mid = (left + right) >> 1;
144+
if (nums2[mid] >= nums1[i]) {
145+
res = Math.max(res, mid - i);
146+
left = mid + 1;
147+
} else {
148+
right = mid - 1;
149+
}
150+
}
151+
}
152+
return res;
153+
};
154+
```
155+
130156
### **...**
131157

132158
```
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
/**
2+
* @param {number[]} nums1
3+
* @param {number[]} nums2
4+
* @return {number}
5+
*/
6+
var maxDistance = function(nums1, nums2) {
7+
let res = 0;
8+
for (let i = 0; i < nums1.length; i++) {
9+
let left = 0, right = nums2.length - 1;
10+
while (left <= right) {
11+
mid = (left + right) >> 1;
12+
if (nums2[mid] >= nums1[i]) {
13+
res = Math.max(res, mid - i);
14+
left = mid + 1;
15+
} else {
16+
right = mid - 1;
17+
}
18+
}
19+
}
20+
return res;
21+
};

0 commit comments

Comments
 (0)