day06-Javaメソッドと配列(2)宿題

1.整数配列numsとターゲット値targetを指定して、合計が配列内のターゲット値である2つの整数を見つけ、
各入力が1つの回答
( 2つの数値であるため、2つの添え字値があり、このメソッドは2つの整数に対応する配列インデックスを含むint []を返します。

2.配列を指定して、配列内の要素をk桁右に移動します。ここで、kは負ではない数です。

例えば
入力:[6]、[7]及びk = 3
出力:[5,6,7,1,2,3,4]
説明:
右循環シフト1:7 、1、2、3、4、5、6]
右に回転して2ビットを回転:[6、7、1、2、3、4、5]
右に回転して3ステップ移動:[5、6、7、1 、2、3、4]

回答:

1。

 

 

 

 

1  パッケージcom.day006;
 2  
3  インポートjava.util.Arrays;
 4  
5  / * 
6  * 1.整数配列numsとターゲット値のターゲットが与えられた場合
 7  *配列の合計をターゲット値として見つけてください2つの整数
 8  *は、配列の添え字を返します。各入力は1つの回答9に のみ対応するものと想定しています
    (2つの数値であるため、2つの添え字の値があるため、このメソッドはint []、
 10に          は、2つの整数に対応する配列インデックスが含まれます)
 11   * / 
12  public  class Demo1 {
 13      public  static  void main(String [] args){
 14          int [] arr = {1,5,4,6,3 };
 15          int [] a = findAdd(arr、10 );
16          System.out.println(Arrays.toString(a));
17      }
 18      
19      public  static  int [] findAdd(int [] arr、int target){
 20          int [] printarr = new  int [2 ];
21          forint i = 0; i <arr.length; i ++ ){
 22              forint j = i + 1; j <arr.length; j ++ ){
 23                  if(arr [j] == target- arr [i ]){
 24                      printarr [0] = i;
25                     printarr [1] = j;
26                  }
 27              }
 28          }
 29          return printarr;
30      }
 31 }

2。

 

 

 

 

 

 

1  パッケージcom.day006;
 2  
3  import java.util.Arrays;
 4  
5  / * 
6  * 2.配列が指定された場合、配列内の要素をk桁右に移動します(kは負の数ではありません)。
7  
8  9  入力:[1,2,3,4,5,6,7]およびk = 3
 10  出力:[5,6,7,1,2,3,4]
 11  説明:
 右に12  サイクル1ビット移動:[7,1,2,3,4,5,6]
 13  サイクルで2ビット移動:[6,7,1,2,3,4,5]
 14  サイクルで3ステップ移動: [5,6,7,1,2,3,4]
 15   * / 
16  public  class Demo2 {
 17  
18      public  static  void main(String [] args){
 19         int [] a = {1,2,3,4,5,6,7 };
 20          // moveCycleメソッドを呼び出し、文字列moveを使用して出力を実現
21          文字列move = Arrays.toString(moveCycle(a、3 ));
 22          System.out.println(move);
 23      }
 24      
25      public  static  int [] moveCycle(int [] arr、int step){
 26          int len = arr.length; // arr配列の配列の長さ
 27          // 新しいsteparr配列、位置を移動した後に配列を保持するために使用
28          int [] steparr = new  int [len];
 29          forinti = 0; i <len; i ++ ){
 30              if((i + step)>(len-1 )){
 31                  // ステッパー配列のインデックス値(i + step)が配列arr配列のインデックス値より大きい場合、
 32                  // 前部に要素サイクルは、再びlenのARR配列の長さを減算する、
 33である                 // 指標値がsteparr(STEP-I + LEN)となる
34で                  steparr [STEP-I + LEN] = [I] ARR;
 35              }
 36              else {
 37                  // steparr配列のインデックス値
38                  steparr [i + step] = arr [i];
 39              }
 40              
41          }
 42          return steparr;
 43      }
44  
45 }

 

おすすめ

転載: www.cnblogs.com/dust2017/p/12705267.html