判断数组中的元素是否连续

现有一个整数数组,其元素是0-65535之间的任意数字。一直相同数字不会重复出现,而0可以重复出现,且0可以通配任意一个数字。设计一个算法判断该数组中的元素是否连续。

如果一个数组包含n个元素,并且该数组中元素是连续的,那么它一定具有“数组中最大值元素与最小值元素之差为n-1”的性质。如果这些元素中包含0这样的通配数字,并且保证数组中的元素是连续的,那么数组中的非零最大值与非零最小值之差不能超过n-1.

int isContinuousArray(int array[],int len){

int maxVal=array[0],minVal=array[0];

int i;

for(i=1;i<len;i++){

if(array[i]>maxVal&&array[i]!=0)

      maxVal=array[i];

else if(array[i]<minVal&&array[i]!=0){

      minVal=array[i];

      }

}

if(maxVal-minVal>len-1)

      return 0;

else{

     return 1;}

}

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值