Arrays 检查数组中的3个值是否连续?
我有一个数组,例如包含值123456,它显然包含3个以上的连续值 我想要一个方法,如果数组中至少包含3个连续值,它将返回true,提前感谢 例如: 972834-返回真值(234) 192645-返回真值(456) 等等等等 更新!: 我有一个java数组,它包含6个整数。 例如nextTurn[],它包含8 4 2 5 6 5 目前它对数组进行排序-2 4 5 6 8 如果整个数组中有3个连续的数字,如何使其返回true 因此它将找到4 5 6 我还希望它返回整数在数组中的位置, 所以对于原始数组8 4 2 5 6 5 它将返回,2 4 5 或2 5 6Arrays 检查数组中的3个值是否连续?,arrays,arraylist,int,Arrays,Arraylist,Int,我有一个数组,例如包含值123456,它显然包含3个以上的连续值 我想要一个方法,如果数组中至少包含3个连续值,它将返回true,提前感谢 例如: 972834-返回真值(234) 192645-返回真值(456) 等等等等 更新!: 我有一个java数组,它包含6个整数。 例如nextTurn[],它包含8 4 2 5 6 5 目前它对数组进行排序-2 4 5 6 8 如果整个数组中有3个连续的数字,如何使其返回true 因此它将找到4 5 6 我还希望它返回整数在数组中的位置, 所以对于原始
谢谢你们的帮助,伙计们,我想你们应该是我的家庭作业 在伪代码中,您将需要与
for int i = 0 to array.length - 2
temp = array[i]
if((array[i+1] == (temp + 1)) && (array[i+2] == (temp + 2)))
return true
else return false
编辑:这是假设您有一个整数数组。如果它是一个字符串,则必须使用字符行(位置),然后通过减去“0”或使用parseInteger函数将字符转换为十进制数
关于误导部分的更新
为此,为了简单起见,我将创建一个与字符串长度相同的数组
int arr[array.length];
然后循环遍历字符串数组中的每个项,同时在数字所在的位置递增arr
(假设为字符数组,单位数字)
for(int i=0;ifor( int i = 0; i < arr.length - 2; i++ )
if( arr[i] >= 1 && arr[i+1] >= 1 && arr[i+2] >= 1 )
return true;
return false;
for(int i=0;i=1&&arr[i+1]>=1&&arr[i+2]>=1)
返回true;
返回false;
应该被标记为我假设的家庭作业
在伪代码中,您将需要与
for int i = 0 to array.length - 2
temp = array[i]
if((array[i+1] == (temp + 1)) && (array[i+2] == (temp + 2)))
return true
else return false
编辑:这是假设您有一个整数数组。如果它是一个字符串,则必须使用字符行(位置),然后通过减去“0”或使用parseInteger函数将字符转换为十进制数
关于误导部分的更新
为此,为了简单起见,我将创建一个与字符串长度相同的数组
int arr[array.length];
然后循环遍历字符串数组中的每个项,同时在数字所在的位置递增arr
(假设为字符数组,单位数字)
for(int i=0;ifor( int i = 0; i < arr.length - 2; i++ )
if( arr[i] >= 1 && arr[i+1] >= 1 && arr[i+2] >= 1 )
return true;
return false;
for(int i=0;i=1&&arr[i+1]>=1&&arr[i+2]>=1)
返回true;
返回false;
最直接的解决方案是简单地在项目之间循环,然后对照下两个项目进行检查:
bool HasConsecutive(int[] a){
for(int i = 0; i < a.Length - 2; i++) {
if (a[i + 1] == a[i] + 1 && a[i + 2] == a[i] + 2) return true;
}
return false;
}
bool(int[]a){
对于(int i=0;i
另一种解决方案是循环项目并计算连续项目:
bool HasConsecutive(int[] a){
int cnt = 1;
for (int i = 1; i < a.Length; i++) {
if (a[i] == a[i - 1] + 1) {
cnt++;
if (cnt == 3) return true;
} else {
cnt = 1;
}
}
return false;
}
bool(int[]a){
int-cnt=1;
for(int i=1;i
最直接的解决方案是简单地在项目之间循环,然后对照下两个项目进行检查:
bool HasConsecutive(int[] a){
for(int i = 0; i < a.Length - 2; i++) {
if (a[i + 1] == a[i] + 1 && a[i + 2] == a[i] + 2) return true;
}
return false;
}
bool(int[]a){
对于(int i=0;i
另一种解决方案是循环项目并计算连续项目:
bool HasConsecutive(int[] a){
int cnt = 1;
for (int i = 1; i < a.Length; i++) {
if (a[i] == a[i - 1] + 1) {
cnt++;
if (cnt == 3) return true;
} else {
cnt = 1;
}
}
return false;
}
bool(int[]a){
int-cnt=1;
for(int i=1;i
晚会迟到了,但这里有一个解决办法
函数检查连续存在(arr){
for(设i=0;i log(checkConcertiveExists([1,9,2,6,4,50])代码>晚会迟到了,但这里有一个解决办法
函数检查连续存在(arr){
for(设i=0;i log(checkConcertiveExists([1,9,2,6,4,50])代码>您使用的是什么语言?另外,这些看起来不像数组,更像字符串(除非,不太可能,您指的是char*
),您使用的是什么语言?另外,这些看起来不像数组,更像字符串(除非不太可能,您指的是char*
),请查看问题中显示的示例,标题有点误导。似乎他们想知道整个数组中是否有三个连续的数字,而不是它们是否在连续的位置