兩數之和---給定一個整數數組 nums 和一個目標值 target,請你在該數組中找出和爲目標值的 兩個 整數。

1.給定 nums = [2, 7, 11, 15], target = 9
因爲 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]

重要一點(關於在函數中static的用法)
第一、在修飾變量的時候,static修飾的靜態局部變量只執行一次,而且延長了局部變量的生命週期,直到程序運行結束以後才釋放。
第二、static修飾全局變量的時候,這個全局變量只能在本文件中訪問,不能在其它文件中訪問,即便是extern外部聲明也不可以。
第三、static修飾一個函數,則這個函數的只能在本文件中調用,不能被其他文件調用。Static修飾的局部變量存放在全局數據區的靜態變量區。初始化的時候自動初始化爲0;

int* num(int* arr, int sz, int target)
{
    static int a[2] = {0};//定義static局部變量延長生命週期,直到程序結束才被釋放
   int i = 0;
   int j = 0;
   for(i = 0;i < sz - 1;i++)//i循環sz - 1次
   {
   	for(j = i+1;j < sz;j++)//j始終比i多一
   	{
   		if(arr[j] == target - arr[i])
   		{
   			a[0] = i;
   			a[1] = j;
   			return a;
   		}
   	}
   }
   return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章