1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
// @Title: 两数之和 (Two Sum)
// @Author: 15816537946@163.com
// @Date: 2022-01-31 14:05:57
// @Runtime: 0 ms
// @Memory: 2.2 MB
// struct Solution;
impl Solution {
    pub fn two_sum(nums: Vec<i32>, target: i32) -> Vec<i32> {
        use std::collections::HashMap;
        let mut m: HashMap<i32, i32> = HashMap::new();

        for (i, v) in nums.iter().enumerate() {
            match m.get(&(target - *v)) {
                Some(&j) => return vec![j, i as i32],
                None => m.insert(*v, i as i32),
            };
        }
        vec![]
    }
}