2017-03-24 3 views
0

私の主な方法はすでに完全で正しいです。メインの "isEverywhere"が呼び出され、それが私が完了しようとしているものです。配列を3つのサブ配列に分割するには、isEverywhereが必要です。たとえば、arr1 {1,2,1,3}は{1,2} {2,1} {1,3}である必要があります。それから私は、各配列を通過して1を検索するループが必要だと思います。サブ配列に1がある場合はtrueを、そうでない場合はfalseを出力する必要があります。 arr3。おそらくJava。脚注4の配列をインデックス(0,1)(1,2)の配列に分割しようとしています(2,3)

public class TinyCode3 { 
    public boolean isEverywhere(int[] nums, int value) { 
     boolean b = true; 
     // YOUR CODE HERE 

    public static void main(String [] args) { 
     TinyCode3 tc = new TinyCode3(); 
     int val = 1; 
    int [] arr1 = {1,2,1,3}; 
    boolean answer = tc.isEverywhere(arr1,val); 
     System.out.println("Expected true, got " + answer); 

     int []arr2 = {2,1,2,1}; 
     answer = tc.isEverywhere(arr2,val); 
     System.out.println("Expected true, got " + answer); 

     int [] arr3 = {3,1,2,2}; 
     answer = tc.isEverywhere(arr3,val); 
     System.out.println("Expected false, got " + answer); 
    } 
} 

答えて

0

このような何か:

public boolean isEverywhere(int[] nums, int value) { 

    for (int i = 0; i < nums.length - 1; i++) { 
     if (nums[i] != value && nums[i + 1] != value) { 
      return false; 
     } 
    } 

    return true; 
} 

サブアレイの各々はIとI + 1(すなわち現在の数とそれの後の数字)によって構成されているので私はforループを使って{i、i + 1}の各ペアをチェックし、どちらも希望の値を含まないとすぐにfalseを返します

+0

ありがとうございました。私はこれが初めてで、コードのどの部分が配列を分割しているのかを説明できるかどうかはわかりませんでした。 – zach

+0

ありがとうございますi = 0はインデックス0と等しいことを意味しますか? – zach

+0

答えにいくつかの説明を追加しました。 i = 0は、配列インデックスが0(1ではなく)で始まるため、0で始まることを意味します。 – ndlu

関連する問題