本文最后更新于 101 天前,其中的信息可能已经有所发展或是发生改变。
完整示例
struct Solution;
impl Solution {
pub fn two_sum(nums:Vec<i32>,target:i32)->Vec<i32> {
use std::collections::HashMap;
let mut map:HashMap<i32, i32> = HashMap::new();
for (i,&num) in nums.iter().enumerate() {
let complement = target - num;
if let Some(&j)=map.get(&complement) {
return vec![j,i as i32];
}
map.insert(num, i as i32);
}
vec![]
}
}
fn main() {
let nums = vec![2, 7, 11, 15];
let target = 9;
let result = Solution::two_sum(nums, target);
println!("{:?}", result);
}
分析
依赖
- use std::collections::HashMap;
创建哈希表 插入键值对 获取值 更新值 遍历
let map = HashMap::new(); //创建
map.insert("K",13); //(k,v)
map.get("K"); // ->13 返回值13
map.insert("K",11); //更新值
for(k,v)in &map{ //遍历
}