A few problems
This commit is contained in:
16
two-sum/sol.rs
Normal file
16
two-sum/sol.rs
Normal file
@@ -0,0 +1,16 @@
|
||||
use std::collections::HashMap;
|
||||
|
||||
impl Solution {
|
||||
pub fn two_sum(nums: Vec<i32>, target: i32) -> Vec<i32> {
|
||||
let mut done: HashMap<i32, i32> = HashMap::new();
|
||||
nums
|
||||
.into_iter()
|
||||
.enumerate()
|
||||
.find_map(|(i2, n2)|
|
||||
done.get(&n2)
|
||||
.and_then(|i1| Some(vec![*i1, i2 as i32]))
|
||||
.or_else(|| done.insert(target-n2, i2 as i32).and(None))
|
||||
)
|
||||
.unwrap()
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user