Skip to content

Commit ea3379f

Browse files
committed
Create 961-n-repeated-element-in-size-2n-array.rs
1 parent 4b4e663 commit ea3379f

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
// solution 1
2+
// pub fn repeated_n_times(nums: Vec<i32>) -> i32 {
3+
// use std::collections::HashMap;
4+
// let mut mmp = HashMap::new();
5+
// let half_len = nums.len() / 2;
6+
// let mut ret = 0;
7+
// for num in nums {
8+
// let count = mmp.entry(num).or_insert(0);
9+
// *count += 1;
10+
// if *count == half_len {
11+
// ret = num;
12+
// break;
13+
// }
14+
// }
15+
// ret
16+
// }
17+
18+
// solution 2
19+
pub fn repeated_n_times(nums: Vec<i32>) -> i32 {
20+
let mut sorted_nums = nums.clone();
21+
sorted_nums.sort();
22+
let half_len = nums.len() / 2;
23+
if sorted_nums[half_len] == sorted_nums[half_len+1] { sorted_nums[half_len+1] } else { sorted_nums[half_len-1] }
24+
}
25+
26+
fn main() {
27+
let nums = vec![3,3,5,9];
28+
println!("{:?}", repeated_n_times(nums));
29+
}

0 commit comments

Comments
 (0)