免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 2541 | 回复: 10
打印 上一主题 下一主题

请问一道题目 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-09-17 17:39 |只看该作者 |倒序浏览
给定一个正整数数组, A, B, C 都是其中不同的元素, 要求C = A + B, 求出 C 的最大值   给出你的最优算法, 分析时间和空间复杂度

论坛徽章:
0
2 [报告]
发表于 2008-09-17 18:36 |只看该作者
原帖由 anselcat 于 2008-9-17 17:39 发表
给定一个正整数数组, A, B, C 都是其中不同的元素, 要求C = A + B, 求出 C 的最大值   给出你的最优算法, 分析时间和空间复杂度


问题不够明确:

C 是已知的,又要 C = A + B, 怎么会有“最大值”呢?

论坛徽章:
0
3 [报告]
发表于 2008-09-17 18:43 |只看该作者
lz的“最大值”的意思应该是数组中满足条件的最大的C

论坛徽章:
0
4 [报告]
发表于 2008-09-17 19:21 |只看该作者
我的思路是先排序,然后从大到小的判断是否符合条件。
排序复杂度O(nlogn),判断是否符合条件要O(n^2)。

论坛徽章:
0
5 [报告]
发表于 2008-09-17 21:06 |只看该作者
算法基本不会

除了O(n^2)。。。

论坛徽章:
0
6 [报告]
发表于 2008-09-17 21:08 |只看该作者
dp

ps,每次都二分,分别找两边的最大值。。

[ 本帖最后由 cugb_cat 于 2008-9-17 21:24 编辑 ]

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
7 [报告]
发表于 2008-09-17 21:22 |只看该作者
看来偶要加强算法的学习啊

论坛徽章:
0
8 [报告]
发表于 2008-09-18 00:53 |只看该作者
将数组由小到大排序,时间O(nlogn);
从最大的数开始考察,直到找到一个满足条件的C:最坏O(n*nlogn)
1:二分查找C-最小的元素; 找到,返回C,否则记录下该元素应该插入的位置M;
2:对于M之前的每一个元素重复1的过程 ;
总的时间代价:O(n*nlogn)

原帖由 anselcat 于 2008-9-17 17:39 发表
给定一个正整数数组, A, B, C 都是其中不同的元素, 要求C = A + B, 求出 C 的最大值   给出你的最优算法, 分析时间和空间复杂度

论坛徽章:
0
9 [报告]
发表于 2008-09-18 08:03 |只看该作者
先从小到大排序,假设数组长度为N
d=最大值减第二大值,2分法在剩余数组中找到和d相等的值,返回,没找到,d=最大值减第三大值,2分法在剩余数组中找到和d相等的值,返回,没找到,继续.如果最大值不是c,递归n-1.

论坛徽章:
0
10 [报告]
发表于 2008-09-18 12:23 |只看该作者
排序以后判断某个最大值是否满足条件,可以优化到O(n)。
首先假设已经完成了从小到大的排序
让A=最小的数,B=第二大的数, C=最大的数,
若A+B=C,输出C;
若A+B<C,A向后移指向次小的数,重复判断;
若A+B>C,B向前移指向次大的数,重复判断;
若A>=B,C指向次大的数,递归。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP