首页 > 试题广场 >

两数之和

[编程题]两数之和
  • 热度指数:12233 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
\hspace{15pt}给定一个整数序列 a=[a_1,a_2,\dots,a_n] 和目标整数 T,寻找一对下标 (i,j) 满足 1\leqq i<j\leqq na_i + a_j = T
\hspace{15pt}测试数据保证恰有一组解,你需要求出对应的下标对 (i,j) 作为序列并返回。

\hspace{15pt}传入参数:
\hspace{23pt}\bullet\,整数序列 a,长度满足 2\leqq n\leqq 10^50\leqq a_i \leqq 10^9
\hspace{23pt}\bullet\,目标整数 T,满足 0\leqq T\leqq 10^9

\hspace{15pt}返回值:
\hspace{15pt}一对整数下标 (i,j) 构成的序列,满足 a_i + a_j = T
示例1

输入

[0,7,2,1],9

输出

[2,3]

说明

a_2+a_3=7+2=9
class Solution:
    def twoSum(self , nums: List[int], target: int) -> List[int]:
        n={}
        for i,j in enumerate(nums):
                c=target-j
                if c in n:
                    return [n[c]+1,i+1]
                n[j] = i
        return []
发表于 2025-06-25 19:54:19 回复(0)