当前位置: 首页 > 知识库问答 >
问题:

数组中连续数的计数

万知
2023-03-14

问题H[最长自然后继数]如果第二个是自然数序列中第一个的后继数(1和2是自然后继数),则两个连续的整数是自然后继数。编写一个程序,读取一个数字N,后跟N个整数,然后打印连续自然后继的最长序列的长度。示例:

输入
7 2 3 5 6 7 9 10输出3这里是我的代码到目前为止有人能帮我吗

   import java.util.Scanner;


   public class Conse {

public static void main(String[] args) {
    // TODO Auto-generated method stub
     Scanner scan = new Scanner(System.in); 
     int x=scan.nextInt();
     int[] array= new int[x];
     for(int i=0;i<array.length;i++)
         array[i]=scan.nextInt();
     System.out.println(array(array));


     }
   public static int array(int[] array){
    int count=0,temp=0;
    for(int i=0;i<array.length;i++){
        count=0;
        for(int j=i,k=i+1;j<array.length-1;j++,k++)
            if(array[j]-array[k]==1)
                count++;
            else{if(temp<count)
                temp=count;
            break;}
        }
    return temp+1;
    }

   }

共有1个答案

公良向阳
2023-03-14
int sequenceStart = 0;
int sequenceLength = 0;
int longestSequenceLength = 0;
for (int item: array) {
    if (item == sequenceStart + sequenceLength) {
        sequenceLength++;
    } else {
        sequenceStart = item;
        sequenceLength = 1;
    }
    longestSequenceLength = Math.max(longestSequenceLength, sequenceLength);
}
 类似资料:
  • 问题内容: 我正在尝试计算股票收益数据中连续上升的天数- 因此,如果正数日为1,负数为0,则应该返回一个列表。 我来到了一个解决方案,它在代码行数方面很整洁,但是 非常 慢: 我猜想我遍历整个列表太多次了。是否有一种很好的Pythonic方式可以实现我想要的,而只需要遍历一次数据?我可以自己编写一个循环,但想知道是否有更好的方法。 谢谢! 问题答案: 为什么痴迷于超pythonic的做事方式?可读

  • 问题内容: 假设我在numpy数组中有一堆数字,并且根据返回布尔数组的条件对它们进行了测试: 并使用此布尔数组,我想计算True连续出现的所有长度。例如,如果我有,我想回去。 我可以使用以下代码来做到这一点: 但是是否已经为此或python,numpy,scipy等函数实现了任何功能,该函数计算给定输入在列表或数组中连续出现的长度? 问题答案: 这是使用的解决方案(可能不是最快的解决方案):

  • 问题内容: 有没有一种方法可以获取表示行中NULL字段数的列?这将在SELECT语句中。 例如: 更新:我想要此查询,以便我可以基于给定书的有多少会员销售进行排序。因此,无论哪个会员,拥有3个会员的排名都会比拥有2个会员的排名高。我的数据库中大约有七个会员,并且会不断增长。因此,任何要求指定每个会员字段的查询都可能太长 桌子: Affiliates_Cache- 主键是Affiliate_ISBN

  • 问题内容: 在有关reshape()函数的numpy手册中,它说 我的问题是: 什么是连续和不连续数组?它类似于C中的连续内存块,例如什么是连续内存块? 两者之间在性能上有什么区别吗?我们什么时候应该使用其中一个? 为什么转置会使数组不连续? 为什么会c.shape = (20)引发错误incompatible shape for a non-contiguous array? 感谢您的回答! 问

  • 你是一个电视游戏节目的参与者,这给了你赢得奖金的机会。在游戏中,你会看到一系列框,每个框都包含一个允许你看到的正整数值。你有机会选择任何数量的盒子。您的总奖金是您选择包含的所有盒子的总和。这个游戏只有一个限制:如果你选择了两个连续的盒子,你不允许在总数中添加任何后续的盒子,而你的奖品是截至该点的累计金额。你的目标是最大化你的奖金。 给定一个正整数数组,代表游戏中呈现给你的每个盒子的值,返回你能赢得

  • 本文向大家介绍C ++中数组中存在的最大连续数,包括了C ++中数组中存在的最大连续数的使用技巧和注意事项,需要的朋友参考一下 给定一个正整数数组。目的是找到其中存在的最大连续数。首先,我们将对数组进行排序,然后比较相邻元素arr [j] == arr [i] +1(j = i + 1),如果差为1,则递增计数,索引i ++,j ++,否则更改计数= 1 。将到目前为止找到的最大计数存储在maxc