diff --git a/problems/0001.两数之和.md b/problems/0001.两数之和.md index 4e44d0c3..1785fe5f 100644 --- a/problems/0001.两数之和.md +++ b/problems/0001.两数之和.md @@ -402,16 +402,18 @@ public class Solution { ### Dart: ```dart -List twoSum(List nums, int target) { - var tmp = []; - for (var i = 0; i < nums.length; i++) { - var rest = target - nums[i]; - if(tmp.contains(rest)){ - return [tmp.indexOf(rest), i]; - } - tmp.add(nums[i]); +import 'dart:collection'; + +List twoSum(List nums, int target) { + HashMap hashMap = HashMap(); + for (int i = 0; i < nums.length; i++) { + int rest = target - nums[i]; + if (hashMap.containsKey(rest)) { + return [hashMap[rest]!, i]; } - return [0 , 0]; + hashMap.addEntries({nums[i]: i}.entries); + } + return []; } ```