diff --git a/solution/2500-2599/2570.Merge Two 2D Arrays by Summing Values/README.md b/solution/2500-2599/2570.Merge Two 2D Arrays by Summing Values/README.md index 3debfef5d9fd1..b74d3fd62f9ae 100644 --- a/solution/2500-2599/2570.Merge Two 2D Arrays by Summing Values/README.md +++ b/solution/2500-2599/2570.Merge Two 2D Arrays by Summing Values/README.md @@ -182,6 +182,33 @@ function mergeArrays(nums1: number[][], nums2: number[][]): number[][] { } ``` +### **Rust** + +```rust +impl Solution { + pub fn merge_arrays(nums1: Vec>, nums2: Vec>) -> Vec> { + let mut cnt = vec![0; 1001]; + + for x in &nums1 { + cnt[x[0] as usize] += x[1]; + } + + for x in &nums2 { + cnt[x[0] as usize] += x[1]; + } + + let mut ans = vec![]; + for i in 0..cnt.len() { + if cnt[i] > 0 { + ans.push(vec![i as i32, cnt[i] as i32]); + } + } + + ans + } +} +``` + ### **...** ``` diff --git a/solution/2500-2599/2570.Merge Two 2D Arrays by Summing Values/README_EN.md b/solution/2500-2599/2570.Merge Two 2D Arrays by Summing Values/README_EN.md index dd6ee4422fa48..035b8a6cb2817 100644 --- a/solution/2500-2599/2570.Merge Two 2D Arrays by Summing Values/README_EN.md +++ b/solution/2500-2599/2570.Merge Two 2D Arrays by Summing Values/README_EN.md @@ -166,6 +166,33 @@ function mergeArrays(nums1: number[][], nums2: number[][]): number[][] { } ``` +### **Rust** + +```rust +impl Solution { + pub fn merge_arrays(nums1: Vec>, nums2: Vec>) -> Vec> { + let mut cnt = vec![0; 1001]; + + for x in &nums1 { + cnt[x[0] as usize] += x[1]; + } + + for x in &nums2 { + cnt[x[0] as usize] += x[1]; + } + + let mut ans = vec![]; + for i in 0..cnt.len() { + if cnt[i] > 0 { + ans.push(vec![i as i32, cnt[i] as i32]); + } + } + + ans + } +} +``` + ### **...** ``` diff --git a/solution/2500-2599/2570.Merge Two 2D Arrays by Summing Values/Solution.rs b/solution/2500-2599/2570.Merge Two 2D Arrays by Summing Values/Solution.rs new file mode 100644 index 0000000000000..4d9f0bdfd4695 --- /dev/null +++ b/solution/2500-2599/2570.Merge Two 2D Arrays by Summing Values/Solution.rs @@ -0,0 +1,22 @@ +impl Solution { + pub fn merge_arrays(nums1: Vec>, nums2: Vec>) -> Vec> { + let mut cnt = vec![0; 1001]; + + for x in &nums1 { + cnt[x[0] as usize] += x[1]; + } + + for x in &nums2 { + cnt[x[0] as usize] += x[1]; + } + + let mut ans = vec![]; + for i in 0..cnt.len() { + if cnt[i] > 0 { + ans.push(vec![i as i32, cnt[i] as i32]); + } + } + + ans + } +} \ No newline at end of file