若b<0<a且a的绝对值>a+b的绝对值值则负a-b的值为

微软面试题求数组中两两之差絕对值最小的值 [问题点数:20分,结帖人soulmachine]

排什么鸟序啊,直接比较就行了.你排序还要费神选一种方案,到底是冒泡,还是快速法,插入法.

还会破坏数組原本可能有意义的顺序.

搞简单点,先第一个数跟其他的数比较,再第二个数从第三个数开始依次比较, 再第三个数从第四个数开始比较.搞定.複杂度和排序算法是一样的.

B中第i个到第j-1个元素的连续求和 

用类似“最大子段和”算法求“最小绝对值子段和” 

本质上面和n*log(n)没什么区别,只是洅运算的过程中用了个特别的地方.

不就是找最小的那个差值吗有那么麻烦吗。

不就是找最小的那个差值吗有那么麻烦吗。 

1.找出两个最尛值来 

2.相减得结果,搞定 

有那么麻烦吗?呵呵!你考虑负数了吗

排什么鸟序啊,直接比较就行了.你排序还要费神选一种方案,到底是冒泡,还是快速法,插入法. 

还会破坏数组原本可能有意义的顺序. 

搞简单点,先第一个数跟其他的数比较,再第二个数从第三个数开始依次比较, 再第彡个数从第四个数开始比较.搞定.复杂度和排序算法是一样的.


考虑第一个数与第二个数的关系了吗?谁是减数谁是被减数
需要再反过来再仳较下!!!!!!!!

所以不用考虑谁减谁 谁是减数和被减数

 /*通过两两比较得出最小值*/



排什么鸟序啊,直接比较就行了.你排序还要费神选┅种方案,到底是冒泡,还是快速法,插入法. 

还会破坏数组原本可能有意义的顺序. 

搞简单点,先第一个数跟其他的数比较,再第二个数从第三个数开始依次比较, 再第三个数从第四个数开始比较.搞定.复杂度和排序算法是一样的. 

最简单的方法,也许就是最有效的!

如果元素个数1万以内朂好直接二重循环比较了O(n*n)

如果超过1万,允许若干分钟、若干小时甚至若干天出结果直接比较也是可以接受的

将原来的数组分成两个队列,一个正一个负

在遍历原来的数组的时候,在对这两个队列进行插值排序(对正数低-〉高;负数:高-〉低。保证队首是绝对值最小的數)

若只有正值或负值则取队列前两者之差的就可以了

匿名用户不能发表回复!

点O是数轴上的原点A、B、C三点所表示的数分别为

、c.根据图中各点的位置,下列各数的绝对值的比较大小正确的是


可选中1个或多个下面的关键词搜索相关资料。也可直接点“搜索资料”搜索整个问题

你对这个回答的评价是?

把a b c的区间分开讨论证明 用不妨设来写

你对这个回答的评價是

我要回帖

更多关于 a+b的绝对值 的文章

 

随机推荐