21xrx.com
2024-09-20 00:43:59 Friday
登录
文章检索 我的文章 写文章
求解数组中连续1的个数(C++实现)
2023-07-04 18:47:03 深夜i     --     --
数组 连续1 个数 求解 C++

在C++中,求解一个数组中连续1的个数可以使用循环和计算器来实现。这个过程类似于在遍历数组时检查数字是否为1,然后通过计算连续为1的数字的数量来得到解。

要实现这个算法,我们需要首先定义一个整数变量count,它将用于记录连续1的数量。接下来,我们将遍历整个数组,并检查每个元素是否为1。如果元素为1,则我们将count加1,否则我们将count重置为0。最后,我们将输出count的值,即数组中连续1的数量。

下面是C++代码的实现:


#include <iostream>

using namespace std;

int main()

{

  int arr[] = 1;

  int n = sizeof(arr) / sizeof(arr[0]);

  int count = 0;

  int maxCount = 0;

  

  for(int i = 0; i < n; i++)

  {

    if(arr[i] == 1)

    {

      count++;

      maxCount = max(count, maxCount);

    }

    else

    

      count = 0;

    

  }

  

  cout << "The maximum number of consecutive 1s is " << maxCount << endl;

  

  return 0;

}

在上面的代码中,我们定义了一个整数数组arr,它包含一些0和1。然后,我们使用sizeof函数计算数组的大小,并将结果存储在变量n中。

接下来,我们定义两个计数器:count用于计算当前连续1的数量,maxCount用于存储数组中最大的连续1的数量。我们使用一个循环来遍历整个数组,如果数组中当前元素为1,我们将count加1,并将maxCount设置为当前count值和maxCount值之间的最大值。否则,我们将count重置为0。

最后,我们输出maxCount的值,即数组中的最大连续1的数量。

在终端运行这段代码,你将会看到以下输出:


The maximum number of consecutive 1s is 3

显然,这个算法也可以用来求解一个任意的整数数组中的最大连续1的数量。只要把arr定义为该整数数组即可。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复