Rust 力扣 - 2. 两数相加

文章目录

题目描述

题解思路

我们使用一个全局的备忘录,然后我们遍历数组,如果当前元素在备忘录里面找到了,就返回备忘录里面记录的下标和当前下标记录,没找到就把当前元素匹配的元素和当前元素下标存入备忘录

题解代码

rust 复制代码
use std::collections::{HashMap};

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

        for (i, num) in nums.iter().enumerate() {
            if let Some(j) = record.get(num) {
                return vec![*j as i32, i as i32];
            } else {
                record.insert(target - num, i);
            }
        }

        vec![]
    }
}

题目链接

https://leetcode.cn/problems/two-sum/

相关推荐
xianwu5432 分钟前
反向代理模块。开发
linux·开发语言·网络·c++·git
xiaocaibao7778 分钟前
Java语言的网络编程
开发语言·后端·golang
木向26 分钟前
leetcode22:括号问题
开发语言·c++·leetcode
comli_cn28 分钟前
使用清华源安装python包
开发语言·python
筑基.34 分钟前
basic_ios及其衍生库(附 GCC libstdc++源代码)
开发语言·c++
蹉跎x40 分钟前
力扣1358. 包含所有三种字符的子字符串数目
数据结构·算法·leetcode·职场和发展
雨颜纸伞(hzs)1 小时前
C语言介绍
c语言·开发语言·软件工程
J总裁的小芒果1 小时前
THREE.js 入门(六) 纹理、uv坐标
开发语言·javascript·uv
坊钰1 小时前
【Java 数据结构】移除链表元素
java·开发语言·数据结构·学习·链表
chenziang11 小时前
leetcode hot100 LRU缓存
java·开发语言