算法与数据结构

leetcode第一题两数相加–c语言完整版

开启leetcode刷题之旅

真的是可以学到很多东西

先尽量自己想,思考

完成后也不要骄傲

因为有更加优良的方法

值得去探讨

对于官方题解

以及各大网页的答案

都只是一个函数

而没有完整版

总感觉少了点什么

所以在这里贡献完整版的程序

第一题描述
给定 nums = [2, 7, 11, 15], target = 9

因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/two-sum
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
//暴力结题
#include<stdio.h>
#include<stdlib.h>
int* twoSum( int* nums , int numsSize , int target , int* returnSize )
{
    int* res = ( int * )malloc( sizeof(int) * 2 );
    * returnSize = 0;
    for( int i = 0 ; i < numsSize-1 ; i++ ) 
    {
        for( int j = i + 1 ; j < numsSize ; j++ ) 
        {
                if( nums[i] + nums [j] == target ) 
                {
                    res[0] = i;
                    res[1] = j;
                    * returnSize = 2;
                    return res;
                }
        }
    }
    return res;
}
int main()
{
    int *a;
    int *size = (int *)malloc( sizeof(int) * 2 );
    int nums[4] = {2,7,11,15};
    a = twoSum( nums , 4 , 9 , size );
    printf( "[%d,%d]\n",a[0],a[1] );
    return 0;
}

函数返回一个数组

这个程序中主函数同样重要

需要对传入的参数有一定的了解

ubuntu卡顿的有效解决方法

上一篇

写作者必会技能:markdown

下一篇

你也可能喜欢

发表评论

您的电子邮件地址不会被公开。 必填项已用 * 标注

提示:点击验证后方可评论!

插入图片

个人微信公众号

we-tuiguang

qq交流群

群号:1046260719

微信扫一扫

微信扫一扫