zoukankan      html  css  js  c++  java
  • day06作业--------------Java方法和数组(二)

    1.给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,
    并返回他们的数组下标,假设每种输入只会对应一个答案
    (因为是两个数,所以下标值,有两个,所以该方法返回一个int[],里面包含两个整数对应的数组下标)

    2. 给定一个数组,将数组中的元素循环向右移动 k 个位置,其中 k 是非负数。

    举例
    输入: [1,2,3,4,5,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 package com.day006;
     2 
     3 import java.util.Arrays;
     4 
     5 /*
     6  * 1.给定一个整数数组 nums 和一个目标值 target,
     7  * 请你在该数组中找出和为目标值的那两个整数,
     8  * 并返回他们的数组下标,假设每种输入只会对应一个答案
     9    (因为是两个数,所以下标值,有两个,所以该方法返回一个int[],
    10          里面包含两个整数对应的数组下标)
    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         for(int i = 0; i < arr.length; i++) {
    22             for(int 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 package 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         String 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         for(int i = 0; i < len; i++) {
    30             if((i+step) > (len-1)) {
    31                 //如果steparr数组的索引值(i+step)大于数组arr数组的索引值,
    32                 //元素循环到前面去,要再减去arr的数组长度len,
    33                 //steparr的索引值变为(i+step-len)
    34                 steparr[i+step-len] = arr[i];
    35             }
    36             else {
    37                 //steparr数组的索引值
    38                 steparr[i+step] = arr[i];
    39             }
    40             
    41         }
    42         return steparr;
    43     }
    44 
    45 }
  • 相关阅读:
    C# 控制台应用程序输出颜色字体[更正版]
    ORM for Net主流框架汇总与效率测试
    php 去掉字符串的最后一个字符
    bzoj1185 [HNOI2007]最小矩形覆盖 旋转卡壳求凸包
    bzoj [Noi2008] 1061 志愿者招募 单纯形
    bzoj1009 [HNOI2008] GT考试 矩阵乘法+dp+kmp
    扩展欧几里得(ex_gcd),中国剩余定理(CRT)讲解 有代码
    BZOJ 2103/3302/2447 消防站 树的重心【DFS】【TreeDP】
    hihocoder 1449 后缀自动机三·重复旋律6
    hihocoder 后缀自动机二·重复旋律5
  • 原文地址:https://www.cnblogs.com/dust2017/p/12705267.html
Copyright © 2011-2022 走看看