题目链接: https://leetcode-cn.com/problems/two-sum/
问题描述: 找出两数之和等于target的元素,并返回对应元素的下标索引。
impl Solution {
pub fn two_sum(nums: Vec, target: i32) -> Vec {
// 使用hashmap,减少判断时的时间开销
// 其中: key存储元素,value存储索引位置
use std::collections::HashMap;
let mut map = HashMap::new();
// num 返回的是元素的引用,*num 获取元素内容
for (index, num) in nums.iter().enumerate() {
// get 方法需要传递引用值
match map.get(&(target - *num)) {
// Option中若存在元素,则会返回对应元素的引用
// index 是 unsize 类型,通过 as 转化为 i32
Some(&idx) => return vec![idx, index as i32],
None => map.insert(*num, index as i32),
};
}
vec![]
}
}
一门新语言的学习,如果想要更清晰的掌握其中的语法及使用,往往需要不断的刷题加以巩固。
希望我的文章,对想要学习rust的小伙伴可以提供些许帮助,了解到如何使用rust解决一个个在工作中可能遇到的各种问题。
刷题路线: 简单题 -> 中等题 -> 困难题。
页面更新:2024-04-25
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号