Arrays 检查数组中的3个值是否连续?

Arrays 检查数组中的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 我还希望它返回整数在数组中的位置, 所以对于原始

我有一个数组,例如包含值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 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;i 然后对三个连续的数字进行arr检查

for( 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;i 然后对三个连续的数字进行arr检查

for( 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;ilog(checkConcertiveExists([1,9,2,6,4,50])晚会迟到了,但这里有一个解决办法

函数检查连续存在(arr){
for(设i=0;ilog(checkConcertiveExists([1,9,2,6,4,50])您使用的是什么语言?另外,这些看起来不像数组,更像字符串(除非,不太可能,您指的是
char*
),您使用的是什么语言?另外,这些看起来不像数组,更像字符串(除非不太可能,您指的是
char*
),请查看问题中显示的示例,标题有点误导。似乎他们想知道整个数组中是否有三个连续的数字,而不是它们是否在连续的位置