在Dart中 给定一个整数数组 nums 和一个目标值 target,请你在数组中找出和为目标值的两个整数,并返回它们的索引。
时间: 2023-11-28 21:43:32 浏览: 106
两数之和:在该数组中找出和为目标值的那两个整数,并返回他们的数组下标
以下是Dart中找出和为目标值的两个整数的代码实现:
```dart
List<int> twoSum(List<int> nums, int target) {
Map<int, int> map = {};
for (int i = 0; i < nums.length; i++) {
int complement = target - nums[i];
if (map.containsKey(complement)) {
return [map[complement], i];
}
map[nums[i]] = i;
}
return [];
}
```
使用哈希表可以将时间复杂度降低到O(n),具体实现过程是:遍历数组,将每个元素的值和索引存储到哈希表中,然后再次遍历数组,查找哈希表中是否存在目标元素的补数,如果存在,则返回两个元素的索引。
阅读全文