Skip to content

Commit dd4fa79

Browse files
committed
6362. 合并两个二维数组 - 求和法
1 parent 0bf2b77 commit dd4fa79

File tree

2 files changed

+40
-0
lines changed

2 files changed

+40
-0
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -236,6 +236,7 @@
236236
|2341|[数组能形成多少数对](https://leetcode.cn/problems/maximum-number-of-pairs-in-array/)|[JavaScript](./algorithms/maximum-number-of-pairs-in-array.js)|Easy|
237237
|2351|[第一个出现两次的字母](https://leetcode.cn/problems/first-letter-to-appear-twice/)|[JavaScript](./algorithms/first-letter-to-appear-twice.js)|Easy|
238238
|6354|[找出数组的串联值](https://leetcode.cn/problems/find-the-array-concatenation-value/)|[JavaScript](./algorithms/find-the-array-concatenation-value.js)|Easy|
239+
|6362|[合并两个二维数组 - 求和法](https://leetcode.cn/problems/merge-two-2d-arrays-by-summing-values/)|[JavaScript]()|Easy|
239240
|面试题 04.12|[面试题 04.12. 求和路径](https://leetcode.cn/problems/paths-with-sum-lcci/)|[JavaScript](./algorithms/paths-with-sum-lcci.js)|Medium|
240241
|面试题 02.07|[面试题 02.07. 链表相交](https://leetcode.cn/problems/intersection-of-two-linked-lists-lcci/)|[JavaScript](./algorithms/intersection-of-two-linked-lists-lcci.js)|Easy|
241242
|剑指 Offer 05. 替换空格|[剑指 Offer 05. 替换空格](https://leetcode.cn/problems/ti-huan-kong-ge-lcof/)|[JavaScript](./algorithms/ti-huan-kong-ge-lcof.js)|Easy|
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
/**
2+
* @param {number[][]} nums1
3+
* @param {number[][]} nums2
4+
* @return {number[][]}
5+
*/
6+
var mergeArrays = function (nums1, nums2) {
7+
let left1 = 0;
8+
let right1 = nums1.length - 1;
9+
let left2 = 0;
10+
let right2 = nums2.length - 1;
11+
12+
const result = [];
13+
14+
// 思路和合并两个有序数组一样
15+
16+
while (left1 <= right1 && left2 <= right2) {
17+
const curr1 = nums1[left1];
18+
const curr2 = nums2[left2];
19+
20+
if (curr1[0] < curr2[0]) {
21+
result.push(curr1);
22+
left1++;
23+
} else if (curr1[0] > curr2[0]) {
24+
result.push(curr2);
25+
left2++;
26+
} else {
27+
result.push([curr1[0], curr1[1] + curr2[1]]);
28+
left1++;
29+
left2++;
30+
}
31+
}
32+
if (left1 > right1) {
33+
result.push(...nums2.slice(left2));
34+
} else {
35+
result.push(...nums1.slice(left1));
36+
}
37+
38+
return result;
39+
};

0 commit comments

Comments
 (0)