summaryrefslogtreecommitdiff
path: root/src/bin/p0001.rs
blob: 70128c96b96b523e071224b55e0fb1f53f7e7620 (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
use std::collections::HashMap;

struct Solution {}
impl Solution {
    pub fn two_sum(nums: Vec<i32>, target: i32) -> Vec<i32> {
        let mut num_map : HashMap<i32, usize> = HashMap::new();

        let mut i:usize = 0;
        loop {
            let index = target - nums[i];
            match num_map.get(&index) {
                Some(j) => break vec![i as i32, *j as i32],
                None => {
                    num_map.insert(nums[i], i);
                    i = i + 1;
                    continue;
                }
            }
        }
    }
}

fn main() {
    println!("{:?}", Solution::two_sum(vec![2, 7, 11, 15], 9));
}