wifecooky
学一点,记一点
C++博客
首页
新随笔
联系
聚合
管理
随笔-22 评论-7 文章-0 trackbacks-0
判断两个数组中是否存在相同的数字
给定两个排好序的数组,怎样高效得判断这两个数组中存在相同的数字?
O(n)算法。因为两个数组都是排好序的。所以只要一次遍历就行了。首先设两个下标,分别初始化为两个数组的起始地址,依次向前推进 。推进的规则是比较两个 数组中的数字,小的那个数组的下标向前推进一步,直到任何一个数组的下标到达数组末尾时,如果这时还没碰到相同的数字,说明数组中没有相同的数字。
bool
findcommon(
int
a[],
int
size1,
int
b[],
int
size2)
{
int
i
=
0
,j
=
0
;
while
(i
<
size1
&&
j
<
size2)
{
if
(a[i]
==
b[j])
return
true
;
if
(a[i]
>
b[j])
j
++
;
if
(a[i]
<
b[j])
i
++
;
}
return
false
;
}
posted on 2010-06-09 12:16
楚天清秋
阅读(944)
评论(0)
编辑
收藏
引用
所属分类:
C,C++
、
算法
只有注册用户
登录
后才能发表评论。
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
相关文章:
关于运行时类型识别typeid
cout重定向到文件 (转)
判断两个数组中是否存在相同的数字
浮点数在计算机中存储方式
关于sizeof(类)的大小
c++虚函数表探究
什么是智能指针(Solmyr 的小品文系列之五:垃圾收集)
template必须定义于头文件中[转]
如何判断文件是否存在?
网站导航:
博客园
IT新闻
BlogJava
知识库
博问
管理
<
2010年6月
>
日
一
二
三
四
五
六
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
常用链接
我的随笔
我的评论
我参与的随笔
留言簿
给我留言
查看公开留言
查看私人留言
随笔分类
C,C++(9)
C++ Builder(2)
Java
Open Source(1)
VC++(2)
电脑故障(1)
生活拾趣(2)
算法(2)
重拾英语(1)
随笔档案
2010年11月 (1)
2010年9月 (2)
2010年8月 (1)
2010年7月 (4)
2010年6月 (7)
2010年5月 (3)
2010年4月 (4)
搜索
最新评论
1. re: BCB的RadioGroup控件的ItemIndex属性BUG!
用showmod.. 显示模式对话框看看。
要是还不行,就用hide,不用close。
似乎也见过。
--人渣
2. re: 关于sizeof(类)的大小
还是没明白。。。。
--楚天清秋
3. re: 关于sizeof(类)的大小
@heart168
同上
--Sunshine Alike
4. re: 关于sizeof(类)的大小
@楚天清秋
sorry sorry, 当时没细想就写了.
这个应该是内存对齐的原因吧,虚指针是只有一个,4字节.
情况2可能是因为多级继承会有额外字节记录this指针的偏移吧.
--Sunshine Alike
5. re: 关于sizeof(类)的大小
能否解释一下哪两个虚指针呢?
--heart168
阅读排行榜
1. 带非法字符的文件夹和文件的删除方法!(转)(3554)
2. cout重定向到文件 (转)(1782)
3. BCB的RadioGroup控件的ItemIndex属性BUG!(1693)
4. 判断两个数组中是否存在相同的数字(944)
5. 苹果引发的故事^_^(苹果习语的由来)(832)
评论排行榜
1. 关于sizeof(类)的大小(6)
2. BCB的RadioGroup控件的ItemIndex属性BUG!(1)
3. 常见开源协议(转) (0)
4. 求24点 (0)
5. cout重定向到文件 (转)(0)