每日一练114——Java Lario和Muigi管道问题(8k

2018-11-27  本文已影响0人  砾桫_Yvan

题目

Issue:看起来像一些流氓管道工和他的兄弟,一直跑来跑去并再次损坏你的舞台。

pipes连接你同级别的阶段,需要在您收到较多投诉之前完成。每个管道都应该连接,因为级别提升,您可以假设第一个索引之后的序列中的每个数字都将大于前一个,并且不会有重复。

Task:给定一个数组/列表numbers,返回列表,使每个索引的值增加1,直到达到最大值。

Example:

Input: 1,3,5,6,7,8

Output: 1,2,3,4,5,6,7,8

解题

My:

public class Kata {
  public static int[] pipeFix(int[] numbers) {
    int start = numbers[0];
    int len = numbers[numbers.length-1]-start+1;
    int[] arrs = new int[len];
    for (int i = 0; i < len; i++) {
      arrs[i] = start++;
    }
    return arrs;
  }
}

Other:

import java.util.stream.IntStream;

public class Kata {
  public static int[] pipeFix(int[] numbers) {
    return IntStream.rangeClosed(numbers[0], numbers[numbers.length - 1]).toArray();
  }
}
public class Kata {
  public static int[] pipeFix(int[] numbers) {
    // Fix the pipes!
    int min = numbers[0];
    int max = numbers[numbers.length - 1];
    
    int newLength = max - min + 1;
    int[] result = new int[newLength];
    
    for(int x = 0; x < newLength; x++) {
      result[x] = min;
      min+=1;
    }
    
    return result;
    
  }
}

后记

我在考虑要不要认真学学IntStream这一类的函数。

上一篇下一篇

猜你喜欢

热点阅读