×
全部 > AI技术 > AI大模型 > Qwen2.5 Coder 32B > 编写Python函数求两数之和索引

编写Python函数求两数之和索引

Qwen2.5-Coder-32B-Instruct(硅基流动)

你可以使用一个哈希表来解决这个问题,以便在一次遍历中找到两个数的索引。以下是一个示例函数 `two_sum`,它接受一个整数数组 `nums` 和一个整数目标值 `target`,并返回两个数的索引。 ```python def two_sum(nums, target): # 创建一个空的哈希表来存储数值和对应的索引 num_to_index = {} # 遍历数组 for index, num in enumerate(nums): # 计算当前数值所需的补数 complement = target - num # 检查补数是否在哈希表中 if complement in num_to_index: # 如果补数存在,返回补数的索引和当前数值的索引 return [num_to_index[complement], index] # 如果补数不存在,将当前数值和索引添加到哈希表中 num_to_index[num] = index # 如果没有找到任何结果,返回一个空列表(根据题意应不会发生) return [] # 测试函数 nums = [2, 7, 11, 15] target = 9 result = two_sum(nums, target) print(result) # 输出: [0, 1] ``` 在这个例子中,函数返回 `[0, 1]`,因为在数组 `nums` 中,`nums[0] + nums[1]` 等于目标值 `9`。注意,哈希表的查找和插入操作的时间复杂度为 O(1),因此整个算法的时间复杂度为 O(n),其中 n 是数组的长度。

试用评价
用户头像
@偶↘卟4伱de菜
金星 金星 金星 金星 金星
5.0 2025-08-04
很好
优质验证通道
Qwen 2.5 Coder 32B Instruct(together)

你可以使用一个哈希表(字典)来解决这个问题,这样可以在一次遍历中找到两个数的索引。以下是一个示例函数 `two_sum`,它接受一个整数数组 `nums` 和一个目标值 `target`,并返回一个包含两个索引的列表: ```python def two_sum(nums, target): # 创建一个字典来存储数值和对应的索引 num_to_index = {} # 遍历数组 for index, num in enumerate(nums): # 计算当前数值所需的补数 complement = target - num # 检查补数是否在字典中 if complement in num_to_index: # 如果在字典中,返回补数的索引和当前数值的索引 return [num_to_index[complement], index] # 如果不在字典中,将当前数值和索引存入字典 num_to_index[num] = index # 如果没有找到符合条件的两个数,返回空列表(根据题意这种情况不会发生) return [] # 示例用法 nums = [2, 7, 11, 15] target = 9 result = two_sum(nums, target) print(result) # 输出: [0, 1] ``` 在这个函数中,我们使用一个字典 `num_to_index` 来存储数组中每个数值及其对应的索引。对于数组中的每个数值 `num`,我们计算出它的补数 `complement`,即 `target - num`。如果这个补数已经在字典中,说明我们找到了两个数,它们的和等于目标值,于是返回它们的索引。如果补数不在字典中,我们将当前数值和索引存入字典,以便后续查找。

试用评价
用户头像
@偶↘卟4伱de菜
金星 金星 金星 灰星 灰星
3.0 2025-08-04
一般
通义千问2.5-Coder-32B(阿里云百炼)

你可以使用一个字典来存储已经访问过的数字及其索引,以便在遍历数组时快速查找是否存在一个数与当前数的和为目标值。以下是一个示例实现: ```python def two_sum(nums, target): # 创建一个字典来存储数值和对应的索引 num_to_index = {} # 遍历数组 for index, num in enumerate(nums): # 计算当前数需要的补数 complement = target - num # 检查补数是否在字典中 if complement in num_to_index: # 如果存在,返回补数的索引和当前数的索引 return [num_to_index[complement], index] # 如果不存在,将当前数和索引存入字典 num_to_index[num] = index # 如果没有找到符合条件的两个数,返回空列表(根据题意这种情况不会发生) return [] # 示例用法 nums = [2, 7, 11, 15] target = 9 result = two_sum(nums, target) print(result) # 输出: [0, 1] ``` 在这个函数中,我们使用了一个字典 `num_to_index` 来存储数组中每个数字及其对应的索引。对于数组中的每个数字 `num`,我们计算出它的补数 `complement`,即 `target - num`。然后检查这个补数是否已经在字典中。如果在,说明找到了两个数,它们的和为 `target`,于是返回它们的索引。如果不在,我们将当前数字和它的索引存入字典中,继续遍历下一个数字。由于题目保证每种输入只有一个答案,所以不需要处理找不到的情况。

试用评价
用户头像
@偶↘卟4伱de菜
金星 金星 金星 金星 灰星
4.0 2025-08-04
毫秒级响应
模型名称 模型提供商 响应总时长(s) 生成 token 数 首 token 延迟(s) 生成速率(tokens/s)
7.15
361
0.51
50.52
5.27
响应最快
393
内容最多
1.24
74.6
速度最快
12.35
382
0.32
延迟最小
30.92
AI代码生成
11家服务商提供服务
AI文本生成
39家服务商提供服务
Qwen2.5 Coder 7B
5家服务商提供服务
Qwen2.5 Coder 1.5B
2家服务商提供服务