力は第1題の2数の和C言語版を掛けます

3817 ワード

  • の过程は1つの配列の中で2つの数の加算がtargetに等しいことを探し出して、配列の2つの循环の暴力を遍歴して解决すればいいのではありませんか、とても简単で、しかし间违いを报告して、答えを见つけるのも私のロジックと同じで、彼らは过ごすことができて、私は间违いを报告しますか??その後、ネット上の答えは一般的に*returnSizeが現れていないことを発見しました.テーマが私にくれた関数にはこの変数があります.私はそれを返した配列として使っています.表示されているのは多分配列の境界を越えているので、私は自分で配列を再構築して返しました.*returnSizeの値を使っていません.
  • は、関数の中で配列returnSizeの値を返すことを試みた観察を解決し、数字0を返し、返された数字の数を推測し、格納された数字を2に変更し、
  • に成功した.
    int* twoSum(int* nums, int numsSize, int target, int* returnSize){
        *returnSize=2;
        static int a[2];      //*a = (int*)malloc(2 * sizeof(int))
    	int i,j;
        for(i=0; i<numsSize-1; i++){
            for(j=i+1; j<numsSize; j++){
                if(nums[i]+nums[j] == target){
                    a[0]=i;
                    a[1]=j;
                    return a;
                }
            }
        }
        return 0;
    }