blob: 3d914a4feabb7620ac25f647d8414aedc8afb257 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
fn main() {
let a: Vec<i32> = vec![2,2,4,4];
let b: Vec<i32> = vec![2,2,2,4,4];
let median = Solution::find_median_sorted_arrays(a, b);
println!("{}", &median);
}
struct Solution(());
impl Solution {
pub fn find_median_sorted_arrays(nums1: Vec<i32>, nums2: Vec<i32>) -> f64 {
// nums1.extend_from_slice(&nums2);
// instead of extending, chaining &
// collecting performs better for some reason
let mut nums1 = nums1.into_iter().chain(nums2.into_iter()).collect::<Vec<_>>();
nums1.sort();
let mut mid = nums1.len() / 2;
let result: f64 = if nums1.len() % 2 == 0 {
(nums1[mid - 1] + nums1[mid]) as f64 / 2.0
} else {
nums1[mid].into()
};
result
}
}
|