leetcode每日一题-1. 两数之和(rust)

题目链接: 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![]
    }
}
leetcode每日一题-1. 两数之和(rust)

运行结果

一门新语言的学习,如果想要更清晰的掌握其中的语法及使用,往往需要不断的刷题加以巩固。

希望我的文章,对想要学习rust的小伙伴可以提供些许帮助,了解到如何使用rust解决一个个在工作中可能遇到的各种问题。

刷题路线: 简单题 -> 中等题 -> 困难题。

展开阅读全文

页面更新:2024-04-25

标签:之和   下标   开销   语法   难题   索引   题目   元素   路线   位置

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top