我试图看看从数组位置0开始的任何数据系列是否是连续的,因为array [0]的数值为0,array [1]的数值为1,并且等等。例如:
private void isContiguous(int[] array, int position){
for(int i = 1; i < array.length; i ++){
if(!array[i].equals(null)){
long previous = this.extract_long(array[i - 1], OFFSET);
long current = this.extract_long(array[i], OFFSET);
if((previousOffset/PACKET_LENGTH) < ){
}
}
}
}
就我能想到的一般解决方案而言。这有点让我大吃一惊,所以得到一些帮助会很好:)
答案 0 :(得分:2)
开始时的事情:
public static boolean isContiguous(int[] array) {
for (int i = 0; i < array.length-1; i++) {
if (array[i+1]-array[i] != 1) {
return false;
}
}
return true;
}
(我不知道为什么你需要职位,OFFSET等,但上面的代码应该满足书面要求)
答案 1 :(得分:0)
首先,如果你在数组中存储原始int,它们永远不会有空值!数组本身可能为null,但值不能! 其次,如果您要检查的是数组[0] == 0,数组[1] == 1,数组[2] == 2那么您的代码应该像这样简单:
private boolean isContiguous(int []array) {
if( array == null ) return false;//a null array cannot be contiguous as it doesn't contain any elements!
for( int i = 0; i < array.length; i++ )
if( array[i] != i ) return false;
return true;
}
这不起作用吗?