利用Python编写“两数之和”的代码
时间: 2023-08-31 22:35:18 浏览: 86
### 回答1:
两数之和是指给定一个整数数组和一个目标值,在数组中找到两个数字,使它们的和等于目标值。
下面是一个 Python 代码的示例:
```
def two_sum(nums, target):
for i in range(len(nums)):
for j in range(i + 1, len(nums)):
if nums[i] + nums[j] == target:
return [i, j]
return []
print(two_sum([2, 7, 11, 15], 9)) # 输出 [0, 1]
```
上面的代码使用了双重循环,枚举每一对可能的数字,并检查它们的和是否等于目标值。如果找到了这样的数字,就返回它们的索引;如果没有找到,就返回一个空列表。
### 回答2:
Python是一种功能强大的编程语言,可以用来编写各种类型的程序。下面是使用Python编写“两数之和”的代码:
```
def two_sum(nums, target):
# 创建一个字典来存储已经遍历过的元素和它们的索引
num_dict = {}
# 遍历数组中的每个元素
for index, num in enumerate(nums):
# 计算需要的目标值
complement = target - num
# 检查目标值是否已经存在于字典中
if complement in num_dict:
# 如果存在,则返回两个数字的索引
return [num_dict[complement], index]
# 如果目标值不存在于字典中,则将当前元素和它的索引添加到字典中
num_dict[num] = index
# 如果没有找到符合条件的两个数字,则返回空列表
return []
# 测试代码
nums = [2, 7, 11, 15]
target = 9
print(two_sum(nums, target))
```
这段代码使用了一种称为"哈希表"的数据结构,通过遍历数组中的每个元素,同时使用一个字典来存储已经遍历过的元素和它们的索引。每个元素都被检查它的差值(目标值与当前元素的差)是否存在于字典中。如果存在,则返回两个数字的索引;如果不存在,则将当前元素和它的索引添加到字典中。如果遍历完整个数组后仍然没有找到符合条件的两个数字,则返回一个空列表。
在上面的测试代码中,数组nums为[2, 7, 11, 15],目标值target为9,两个数字2和7的和等于目标值,所以输出结果为[0, 1]。
### 回答3:
“两数之和”是一道经典的编程问题,可以使用Python来解决。
首先,我们需要定义一个函数,命名为`twoSum`,该函数接受两个参数,分别为一个整数列表`nums`和一个目标整数`target`。
我们使用两层循环遍历列表`nums`,在内层循环中,我们将当前元素与其后面的元素相加,判断是否等于目标整数`target`。如果相等,则返回两个元素在列表中的索引。
具体的代码如下所示:
```python
def twoSum(nums, target):
for i in range(len(nums)):
for j in range(i+1, len(nums)):
if nums[i] + nums[j] == target:
return [i, j]
```
接下来,我们可以编写一段测试代码,调用`twoSum`函数并打印结果:
```python
nums = [2, 7, 11, 15]
target = 9
result = twoSum(nums, target)
print(result)
```
运行以上代码,会输出`[0, 1]`,表示在列表`nums`中,索引为0和1的两个元素相加等于9。
通过这个例子,我们可以看到,通过编写一个简单的函数,利用Python可以方便地解决“两数之和”的问题。