|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 顺序表中找两数之和
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
1714
人关注过本帖
标题:
顺序表中找两数之和
只看楼主
加入收藏
丘山君
等 级:
论坛游侠
威 望:
1
帖 子:87
专家分:154
注 册:2017-11-15
结帖率:
54.55%
楼主
收藏
已结贴
√
问题点数:30 回复次数:3
顺序表中找两数之和
在一个升序的数据集合中,在该集合中查找两个数之和为k。
有重复值,除了两重循环遍历,大佬们有没有什么方法
我想了个但是有问题
例如:33367888,和要求为11,这里应该是有9组
想过用两个下标i,j分别从数组两端开始,
通过判断两数相加是否等于k,等于,则i走一步,再判断;不等于,j走;
但是发现不对,会出现漏组情况
求帮忙给个思路,谢谢;
搜索更多相关主题的帖子:
顺序表
两数
之和
判断
等于
2017-12-02 00:39
举报帖子
使用道具
赠送鲜花
九转星河
来 自:长长久久
等 级:
贵宾
威 望:
52
帖 子:5023
专家分:14003
注 册:2016-10-22
第
2
楼
收藏
得分:10
思路方向应该是可以的~漏组是因为重复数出现使得指针过早偏离了~可以在原基础上改进一下算法
~
相等时j偏离一位直到出现不相等的数,记录偏离了a个数~
然后i偏离一位直到出现不相等的数,记录偏离b个数~
然后组数为a*b;
例如计算
112333和为4
112333
i
j
112333
i
j
112333
i
j
112333
i j
112333
i j
112333
i
j
i==j结束循环~
j走了3格,i走了两格,共有6组
~
[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-12-02 05:30
举报帖子
使用道具
赠送鲜花
吹水佬
等 级:
版主
威 望:
451
帖 子:10609
专家分:43210
注 册:2014-5-20
第
3
楼
收藏
得分:10
组合问题,两重循环或递归遍历就可以。
有些看似是一个循环,但在循环体内通过判断改变i、j,其实也是多次遍历。
2017-12-02 07:56
举报帖子
使用道具
赠送鲜花
rjsp
等 级:
版主
威 望:
528
帖 子:9031
专家分:54061
注 册:2011-1-18
第
4
楼
收藏
得分:10
补充一下其它的,不等于的时候,还得考虑是大于还是小于
考虑 1 5 6 7
小于时动i,大于时动j
2017-12-02 09:55
举报帖子
使用道具
赠送鲜花
4
1/1页
1
快速回复:
顺序表中找两数之和
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.025312 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved