2017-05-01 9 views
1

整数の配列arrと整数のターゲットを渡したときに、 は、ターゲット内でターゲットが発生する最後のインデックスを返します。配列がnullの場合、またはターゲットが配列に存在しない場合は-1を返します。配列内のターゲットの最後のインデックスを見つける線形探索

私はこれを行うために線形検索を使用しています。

public static void linearSeach(int [] arr, target){ 
if(arr == null){ 
    return -1; 
} 
count = 0; 
for (int i = 0; i< arr.length; i++){ 
    if(target == arr[i]){ 
     count ++; 
} 
} 
// I cannot return both count and -1 so here is what I thought I should do 
if(count >= 0){ 
return count; 
} 
else { 
    return -1; 
}} 

これは正しいか正しいアプローチですか?

+1

:あなたはそれが表示された前回のインデックスを返す必要があります –

答えて

1

いいえ、アレイにターゲット番号が表示された回数を返します。いいえ、それは**最後**インデックスを求めている

if (arr != null) { 
    for (int i = arr.length - 1; i >= 0; i--){ 
     if (target == arr[i]) { 
      return i; 
     } 
    } 
} 
return -1; 
0
public static void linearSeach(int [] arr, target){ 
    if(arr != null) {  
     int i = arr.length - 1 
     while (i>=0){ 
      if(target == arr[i]){ 
       return i; 
      } 
      i= i-1    
     } 
    } 
    return -1; 
} 
関連する問題