Skip to content

Commit

Permalink
Merge pull request #5 from swanine/patch-1
Browse files Browse the repository at this point in the history
Update 001-two-sum.md
  • Loading branch information
sunface authored Mar 29, 2022
2 parents 695bfd8 + 35ac96d commit a64e64c
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions src/leetcode/001-two-sum.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# 1. 两数之和
题目链接: [两数之和](https://leetcode-cn.com/problems/two-sum/)

相信每个刷过LeetCode的人永远也忘不了这道题(就想当年背单词书永远也忘不了书中的第一个单词abandon哈哈哈),但是这道题用Rust来写也并不是那么简单,尤其是对于Rust新手,相信看完这道题你对Rust中的一些小细节会有更深的理解。
相信每个刷过LeetCode的人永远也忘不了这道题(就像当年背单词书永远也忘不了书中的第一个单词abandon哈哈哈),但是这道题用Rust来写也并不是那么简单,尤其是对于Rust新手,相信看完这道题你对Rust中的一些小细节会有更深的理解。


## 解法一
Expand Down Expand Up @@ -69,4 +69,4 @@ impl Solution {

- 为什么需要`use std::collections::HashMap;`这一行:可能是觉得HashMap用的没有那么多吧,因此Rust并没有将HashMap列入Prelude行列当中,因此当我们需要使用HashMap时,需要手动引入。
- 前面的`for i in 0..nums.len()`哪去了,这个`for (index, value) in nums.iter().enumerate()`是个什么鬼:在Rust中推荐使用迭代器,而enumerate这个迭代器适配器返回含有(下标,值)的元组。
- 为什么`if let Some(&other_index) = map.get(&other)`需要用到两个引用符号:简单来说,因为所有权的问题。[HashMap的get方法](https://doc.rust-lang.org/std/collections/struct.HashMap.html#method.get)中传入的参数是对key的引用,返回的是Option<&value>,因此我们需要用这两个引用符号。
- 为什么`if let Some(&other_index) = map.get(&other)`需要用到两个引用符号:简单来说,因为所有权的问题。[HashMap的get方法](https://doc.rust-lang.org/std/collections/struct.HashMap.html#method.get)中传入的参数是对key的引用,返回的是Option<&value>,因此我们需要用这两个引用符号。

0 comments on commit a64e64c

Please sign in to comment.