笔试算法题(1)

题目:

**************************
*一个N长度的整数序列,无序排列,写出一种算法来找出相邻两整数间最大差值
*比如一个序列如下
*3 5 4 1 16 9
*结果为 1 3 4 5 9 16  ,最大差值为7
*(注意:不可使用排序算法,时间复杂度0(n))
*                         
****************************/
其中的一个解法:


            }
            // 如果a[i]大于最大数值做如下处理
            else if((a[i] - h) > min)
            {
                    l = h ;
                    h = a[i] ;   
            } 
            //如果a[i]小于最小数值做如下处理
            else  if((l -a[i]) > min)
            {
                  h = l;
                  l = a[i] ;
            }
            min = h - l;           
            i++ ; 
    }
   
    printf("最小值为%d-%d的差值,为%d",h,l,min) ;
    getchar() ;
    return 0;   
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值