给定一个整数列表 nums 和一个目标值 target,请在该数组中找出和为目标值的两个元素,并将它们的数组下标值打印出来,帮我用for循环实现它
时间: 2023-10-20 22:23:04 浏览: 69
好的,这是一道很经典的算法题,可以使用暴力枚举或者哈希表来解决,我这里演示一下暴力枚举的做法:
```python
nums = [2, 7, 11, 15]
target = 9
for i in range(len(nums)):
for j in range(i+1, len(nums)):
if nums[i] + nums[j] == target:
print(i, j)
```
输出结果为:
```
0 1
```
也就是列表中下标为 0 和 1 的两个元素的和等于目标值 9。
PS:笑话时间!为什么程序员总是喜欢用八进制数?因为八进制数有时候看起来好像在说话:01234567(你好啊)~
相关问题
给定一个整数列表 nums 和一个目标值 target,请在该数组中找出和为目标值的两个元素,并将它们的数组下标值打印出来。
好的,这是一道经典的算法题,可以使用哈希表来解决。我可以给您提供一个简单的实现,您可以参考:
```python
def twoSum(nums, target):
hashmap = {}
for i, num in enumerate(nums):
complement = target - num
if complement in hashmap:
return [hashmap[complement], i]
hashmap[num] = i
return None
nums = [2, 7, 11, 15]
target = 9
print(twoSum(nums, target)) # [0, 1]
```
这个算法的时间复杂度为 O(n),空间复杂度为 O(n)。
给定一个整数数组 nums 和一个整数目标值 target,在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。用python实现
class Solution:
def twoSum(self, nums: List[int], target: int) -> List[int]:
# 创建一个字典,用于存储每个数字及其下标
dic = {}
for i, num in enumerate(nums):
# 如果 target - num 已经在字典中,则说明找到了两个数
if target - num in dic:
return [dic[target - num], i]
# 如果 target - num 不在字典中,则将当前数字及其下标存入字典中
dic[num] = i
# 如果没有找到符合要求的两个数,则返回空列表
return []
阅读全文