题目
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这一类的函数。
网友评论