两数之和--练习题

简介: 两数之和--练习题

找个算法题练练手,顺便记录一下。


描述


给出一个整型数组 numbers 和一个目标值 target,请在数组中找出两个加起来等于目标值的数的下标,返回的下标按升序排列。


(注:返回的数组下标从1开始算起,保证target一定可以由数组里面2个数字相加得到)


数据范围:2\leq len(numbers) \leq 10^52≤len(numbers)≤105,-10 \leq numbers_i \leq 10^9−10≤numbersi≤109,0 \leq target \leq 10^90≤target≤109


要求:空间复杂度 O(n)O(n),时间复杂度 O(nlogn)O(nlogn)


微信图片_20230117225025.png

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param numbers int整型一维数组 
 * @param numbersLen int numbers数组长度
 * @param target int整型 
 * @return int整型一维数组
 * @return int* returnSize 返回数组行数
 */
int* twoSum(int* numbers, int numbersLen, int target, int* returnSize ) {
    // write code here
    int i=0,j=0;
    int num = 0;
    static int retAry[2];
    for(i=0; i<numbersLen-1; i++)
    {
        if(numbers[i] > target)
            continue;
        for(j=i+1; j<numbersLen; j++)
        {
            if(target == numbers[i]+numbers[j])
            {
                 retAry[0] = i+1;
                 retAry[1] = j+1;
                 *returnSize = 2;
                break;
            }              
        }
    }
    return retAry;
}





目录
相关文章
|
7月前
|
C语言
pta 浙大版《C语言程序设计(第3版)》题目集 习题6-6 使用函数输出一个整数的逆序数 (20分)
pta 浙大版《C语言程序设计(第3版)》题目集 习题6-6 使用函数输出一个整数的逆序数 (20分)
|
7月前
|
测试技术 C语言
hdu 1106排序 c语言解题
hdu 1106排序 c语言解题
41 0
|
7月前
|
C语言
c语言编程练习题:7-25 求奇数和
c语言编程练习题:7-25 求奇数和
52 1
|
7月前
|
人工智能 BI C语言
c语言编程练习题:7-26 最大公约数和最小公倍数
c语言编程练习题:7-26 最大公约数和最小公倍数
48 0
|
7月前
|
C语言
c语言编程练习题:7-42 整除光棍
c语言编程练习题:7-42 整除光棍
70 0
|
7月前
|
C语言
c语言编程练习题:7-53 生成3的乘方表
c语言编程练习题:7-53 生成3的乘方表
65 0
|
测试技术 C语言
hdu 1106排序 c语言解题
hdu 1106排序 c语言解题
46 0
|
存储 算法 Python
【力扣算法07】之 2.两数相加 python
【力扣算法07】之 2.两数相加 python
105 0
|
存储
力扣---两数相加(c语言版)
力扣---两数相加(c语言版)
93 0
下一篇
DataWorks