首页 > 试题广场 >

最小差值

[编程题]最小差值
  • 热度指数:4820 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
给你一个数组,请你求出数组a中任意两个元素间差的绝对值的最小值。
示例1

输入

[1,2,4]

输出

1
示例2

输入

[1,3,1]

输出

0
/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 * 求最小差值
 * @param a int整型一维数组 数组a
 * @param aLen int a数组长度
 * @return int整型
 */
int minDifference(int* a, int aLen ) {
    int ans=abs(a[1]-a[0]),i,j;
        for(i=0;i<aLen;i++)
        {
            for(j=i+1;j<aLen;j++)
            {
                if(abs(a[i]-a[j])<ans)
                {
                    ans=abs(a[i]-a[j]);
                }
            }
        }
    return ans;
    // write code here
}
发表于 2021-09-02 20:53:06 回复(0)
int minDifference(int* a, int aLen ) {
    int mns = abs(a[1]-a[0]);
    for(int i = 0; i < aLen-1; i++)
    {
        for(int j = i+1; j < aLen; j++)
        {
            abs(a[i]-a[j])<mns && (mns = abs(a[i]-a[j]));
        }
    }
    if(mns < 0)
    {
        return mns-1;
    }
    else{
        return mns;
    }   
}

发表于 2021-07-17 17:29:45 回复(0)

问题信息

难度:
2条回答 3508浏览

热门推荐

通过挑战的用户

查看代码