社区
数据结构与算法
帖子详情
问大家一个问题
blingpro
2008-06-04 09:30:37
对一个数组,数组里面包含正负数,乱序的,在里面选择三个数(A,B,C),使得满足:A+B=C,如何求得C的最大值!时间复杂度多少!
...全文
95
10
打赏
收藏
问大家一个问题
对一个数组,数组里面包含正负数,乱序的,在里面选择三个数(A,B,C),使得满足:A+B=C,如何求得C的最大值!时间复杂度多少!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
大王派我去巡山
2008-06-04
打赏
举报
回复
哦,是的。后面判断是否能分解可以在O(n)内完成。
tailzhou
2008-06-04
打赏
举报
回复
复杂度可以到o(n^2);
不妨假设C=A+B中A>B;
1)首先排序,假设排序后的数组为DATA[1..n];
2)从大到小判断DATA[i]是否是可能的A;
即判断DATA[i]+DATA[j] 1<j<i 是否在DATA数组中,这是可以o(n)解决的;
注意到 DATA[i]+DATA[j]总比DATA[i]+DATA[j-1]大;
所以对j从i-1到1降序判断;只需要遍历数组一遍;
大王派我去巡山
2008-06-04
打赏
举报
回复
假设数组中所有元素的绝对值<=M,开辟一个b[-M~M]大小的数组,初始化所有元素为0
然后遍历原数组a,遍历过程中令 b[a[i]]++
最后从尾到头扫描b数组,对于b[t]>0,检查是否存在i+j=t存在且b[i]>0、b[j]>0(如果i=j,则需要b[i]>=2)
大王派我去巡山
2008-06-04
打赏
举报
回复
排序是O(n*logn)
从大到小检查元素C是否可以分解成C=A+B:
二分查找B=C-A是否存在需要O(logn),对于每个A进行一下这样的二分查找就成了O(n*logn)
针对每个元素C都要执行这样的分解试探,所以整体复杂度是O(n^2*logn)
blingpro
2008-06-04
打赏
举报
回复
如何hash?
以前没用过,请指点
blingpro
2008-06-04
打赏
举报
回复
问一下:
ls的复杂度是 O(logn + n^2)??
排序O(logn)
对每个C搜索A,B,n^2
是这样吗?
大王派我去巡山
2008-06-04
打赏
举报
回复
如果数组中所有元素的绝对值范围不大(<=M),hash一下空间换时间,可以到O(M^2)
大王派我去巡山
2008-06-04
打赏
举报
回复
ls说的有问题:
求出任意两对的和 ——O(n^2)
判断和是否在数组里——O(n)
所以整体的复杂度应该是O(n^3)
如果先将这个数组排好序,然后从大到小检查元素C是否可以分解成C=A+B,O(logn*n^2)会好一些
cz_hyf
2008-06-04
打赏
举报
回复
求出任意两对的和,并判断和是否在数组里,如果是的话用S记下来,求出S的最大值 复杂度为O(n^2)
blingpro
2008-06-04
打赏
举报
回复
学到东西了,thanks
面试题:
一个
人走到岔道处,有2人,一人只说真话一人只说假话,只能
问
其中一人
一个
问
题
,怎么解决?
直接bai随便
问
一个
人,就
问
甲好了,
问
他“假du设我
问
乙,应该走哪一条路,zhi他会dao怎么回答?”。大家要知道,题面已经给出甲乙的答案肯定是相反的了,那这时候只有两种情况: 1、如果甲说真话,那么乙说的是假话...
Android终于要推出Google官方的二维码扫描库了?
这里我要
问
大家
一个
问
题
,你们都是如何在自己的App中加入二维码扫描功能的呢? 相信会有一大部分朋友说,使用的是ZXing或者ZBar这种开源库。 但是不知道大家有没有思考过,二维码功能这么常见,为什么Google却没有...
微信小程序获取头像open-type=“chooseAvatar“ bind:chooseavatar方法
1、首先用户多
一个
选择操作,体验不佳2、获取到头像路径是临时路径,开发者需要把整个图片存放在自己服务器上,不然下次又要选择一次3、由于头像客户可以随意选择,所以没有好的识别作用最后
问
大家
一个
问
题
,我们...
C++漫谈指针运算
首先我
问
大家
一个
问
题
:指针为什么要有自己的类型? 前不久我也
问
过自己同样的
问
题
,你想,既然指针存储的是
一个
地址,即一串十六进制的数字,那他完全可以没有类型,因为地址又不会有什么和数据类型有关的差异。...
python中sys.argv的用法_python的sys.argv[]用法解释
大家好,老白又回来了,先
问
大家
一个
问
题
:什么运动让人看得纠心,足球!什么运动让人看得最纠心,中国足球!恭喜国足打入2019亚洲杯八强了!今晚老白给大家分享一下python的sys.argv[]的用法。1、sys.argv这个命令...
数据结构与算法
33,008
社区成员
35,326
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章