c#中关于数组的统计问题

2025-04-05 07:31:53
推荐回答(1个)
回答1:

int GetNum(int[] data, int num, int length)
{//data是数组,num表示统计1还是0,length表示多长才算是连续 
    int result = 0; //用于记录有多少个连续的0或1
    int curnum = 0; //用于记录当前的连续长度
    for(int i = 0; i < data.Length; i++)
    {
        //如果当前数值等于要统计的数,则长度加一。 
        //否则就将长度归零 
        if(data[i] == num)
            curnum++;
        else
            curnum = 0;
        //如果长度大于或等于连续有效的长度,则结果加一
        if(curnum >= length)   
        {
            result++;
            curnum = 0; //如果不能重复算,则加上这一行,否则不增加。   
        } 
    }  
    return result; 
}