开启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;
}
函数返回一个数组
这个程序中主函数同样重要
需要对传入的参数有一定的了解