您的位置:首页 > 其它

整数数组中两两之差绝对值最小的值

2012-08-24 11:03 302 查看
有一个整数数组,请求出两两之差绝对值最小的值,记住,只要得出最小值即可,不需要求出是哪两个数

如果没有空间复杂度的限制啊,可以借助于桶排序的思想。
数组为a[]
遍历得到最大max,遍历得到最小min。
位图长度为abs(max)+abs(min),即为byte b[]
遍历a,遍历到a[i],则将b[a[i]-min]置为1;
然后遍历b,比较相邻两个为1的下标差值。

复杂度为O(abs(max)+abs(min)),汗

ps:
直接用桶排序就可以了~~
考虑到可能有重复数字的情况,可以用两个bit位表示
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐