两数之和--练习题

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

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


描述


给出一个整型数组 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月前
|
算法
算法每日一题---两数之和
算法每日一题---两数之和
31 0
|
7月前
|
存储 索引
题目----LeeCode热题100--1 两数之和
题目----LeeCode热题100--1 两数之和
45 1
|
7月前
|
存储 算法 测试技术
|
6月前
【LeetCode刷题】两数之和、两数相加
【LeetCode刷题】两数之和、两数相加
|
7月前
|
存储 算法 Java
LeetCode算法题---两数相加(二)
LeetCode算法题---两数相加(二)
42 0
|
存储
每日一题(两数相加)
每日一题(两数相加)
|
存储
力扣---两数相加(c语言版)
力扣---两数相加(c语言版)
93 0
|
Java Python
leetcode每日一题.445:两数相加II
leetcode每日一题.445:两数相加II
88 0
|
存储 算法 索引
LeetCode每日1题--两数之和
LeetCode每日1题--两数之和
93 0
|
Python
LeetCode 1. 两数之和【新方式】
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。
117 0