整数数组中两两之差绝对值最小的值
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位表示
如果没有空间复杂度的限制啊,可以借助于桶排序的思想。
数组为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位表示
相关文章推荐
- 有一个整数数组,请求出两两之差绝对值最小的值,记住,只要得出最小值即可,不需要求出是哪两个数。 (微软面试题)
- 有一个整数数组,请求出两两之差绝对值最小的值, 记住,只要得出最小值即可,不需要求出是哪两个数。
- 微软1 有一个整数数组,请求出两两之差绝对值最小的值
- 求最小绝对值子串、一个整数数组求两两之差绝对值最小值
- 【算法】在整数数组求中出两两之差绝对值最小的值
- 有一个整数数组,请求出两两之差绝对值最小的值,记住,只要得出最小值即可,不需要求出是哪两个数。
- 有一个整数数组,请求出两两之差绝对值最小的值
- 一道面试题:有一个整数数组,请求出两两之差绝对值最小的值,记住,只要得出最小值即可,不需要求出是哪两个数。
- 有一个整数数组,请求出两两之差绝对值最小的值,记住,只要得出最小值即可,不需要求出是哪两个数
- 有一个整数数组,请求出两两之差绝对值的最小值
- 有一个整数数组,请求出两两之差绝对值最小的值
- 有一个整数数组,请求出两两之差绝对值最小的值
- 有一个整数数组,请求出两两之差绝对值最小的值
- 微软面试-101-有一个整数数组,请求出两两之差绝对值最小的值,
- 有一个整数数组,请求出两两之差绝对值最小的值,记住,只要得出最小值即可,不需要求出是哪两个数。
- 输入一个整数数组,返回所有元素两两之差绝对值最小的值,O(n)算法
- 有一个整数数组,请求出两两之差绝对值最小的值
- 有一个整数数组,请求出两两之差绝对值最小的值,记住,只要得出最小值即可,不需要求出是哪两个数。
- 整数数组中两两之差绝对值最小的值
- 有一个整数数组,请求出两两之差最小的值,记住,只要得出最小值即可,不需要求出是哪两个数。