【LeedCode] 167の二つの数字II - 入力規則配列

所定の規則配列は、それらの和が目標数の和に等しくなるように2つの数値を見つけるために応じて昇順にソートされています。

機能はindex1のINDEX2未満でなければならない2つの指標値からindex1 INDEX2を返す必要があります。

説明:

インデックス値(インデックス1、INDEX2をして)返し、ゼロではありません。
あなたは、各入力のみ唯一の答えに対応すると仮定することができますが、同じ要素を再利用することはできません。
例:

入力:番号 = 271115 ]、目標= 9 
出力:[ 12 ] 
説明:2及び7が同じ目標数である9したがって、インデックス1 = 1、INDEX2 = 2
タイトル説明

 

1  INT * twoSum(INT *数字、INT numbersSize、INTターゲット、INT * returnSize){
 2      INT I = 0、J = numbersSize- 1 、K。
3      INT * RES = malloc関数はsizeofINT)* 2 )。
4      * returnSize = 2 5      一方(iは= < j)を
 6      {
 7          、K =番号[I] + 数字[J]。
8          もし(K == ターゲット)
9          {
 10の              RES [ 0 ] = I + 1 11の              RES [ 1 ] = J + 1 12              ブレーク;
13          }
 14          他の 場合(K> ターゲット)
 15              J - 16           
17              私は++します;                
18      }    
 19の     
20      戻りRES。
21 }
Cソリューション

 

問題解決のアイデア:

アレイの境界の両端に配置された二重ポインタ

そして、2つの目標値は、中間の数字を近似しました。

おすすめ

転載: www.cnblogs.com/mind000761/p/10978845.html