社区
图形处理/算法
帖子详情
求一个简单的算法
jill_yang
2000-07-14 10:21:00
加精
我有两个数组,一个数组记录“中”字在一篇文章中的偏移地址,另一个记录“国”字在一篇文章中的偏移地址,例A[]是记录“中”字偏移地址的数组,A[0]=1,A[1]=6,B[]是记录“国"字的数组,假设两个数组的大小都已知,现在要得出一个数组记录包含“中国”这个词在文章中的偏移地址,这个算法速度越快越好
...全文
258
7
打赏
收藏
求一个简单的算法
我有两个数组,一个数组记录“中”字在一篇文章中的偏移地址,另一个记录“国”字在一篇文章中的偏移地址,例A[]是记录“中”字偏移地址的数组,A[0]=1,A[1]=6,B[]是记录“国"字的数组,假设两个数组的大小都已知,现在要得出一个数组记录包含“中国”这个词在文章中的偏移地址,这个算法速度越快越好
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jadedrip
2000-12-28
打赏
举报
回复
用二分查找?
jill_yang
2000-07-14
打赏
举报
回复
这样是可以,是否有性能更好的算法
附上我写的一个算法
flag=0;
k=0;
for (i=0;i<X;i++)
{
for(j=flag;j<Y;j++)
if(B[j]=+A[i]+1)
{
C[k++]=A[i];
flag=j+1;
break;
}
}
wistaria
2000-07-14
打赏
举报
回复
A,B数组均有序,从小到大
i=0,j=0,k=0
do{
for(;(j<J)&&(B[j]-A[i]!=1);j++);
if(B[j]-A[i]==1)
{
C[k]=A[i];
k += 1;
}
i += 1;
}while(i<I&&j<J);
jill_yang
2000-07-14
打赏
举报
回复
A,B数组均有序,从小到大
MadLee
2000-07-14
打赏
举报
回复
AB是否有序?
ta
2000-07-14
打赏
举报
回复
这是一个典型的双步进循环. 方法很简单: 示意如下:
A,B数组均有序,从小到大 结果放到 C
i=0,j=0,k=0
do
{
if (B[j]-A[i]==4) {C[k++]=A[i++];j++;}
elseif (B[j]-A[i]>4) i++; else j++;
}while(i<I&&j<J);
这段代码最好用汇编来写速度最快:
可以利用一个
do
{
__asm
{
mov eax,B[j]
sub eax,A[i]
sub eax,4
je l1:
ja l2:
}
j++;
__asm jmp L4;
l1:
C[k++]=A[i];j++;
l2:
i++;
L4;
}while(i<I&&j<J);
注意编译后代码数组下标应该是[i*4]. 如果不是就添上. 这取决于编译开关.
sun2000
2000-07-14
打赏
举报
回复
有序:
A[]中的个数为nCntA;
B[]中的个数为nCntB;
C[]中的个数为nCntC;
int nCntC=0;
for(int j=0, i=0; i<nCntA && j<nCntB ;)
while((A[i]<B[j]-1) && i<nCntA ) i++;
while((B[j]<A[i]+1) && i<nCntA && j<nCntB) j++;
if (A[i]+1==B[j])
{
C[nCntC++]=A[i];
i++;
j++;
}
}
JavaSE基础视频精讲⑤:数组的使用和
简单
算法
本课程适用于零基础小白快速入门Java语言技术,通过课程学习可以清晰了解Java数组的使用和
简单
算法
。课程配套完整的(笔记+代码+作业)
(
算法
)通俗易懂的字符串匹配KMP
算法
及
求
next值
算法
在考研备考中,参考严奶奶的教材,我也是在关于
求
next值的
算法
中卡了一下午时间,感觉挺有意思的,把一些思考的结果整理出来,与大家一起探讨。 以下的顺序为 1、最基本的朴素
算法
2、优化的KMP
算法
3、应
算法
...
一个
简单
的分治
算法
(
求
最大最小值)
首先我们为什么要用分治
算法
来
求
最大最小值,用循环比较
一个
个来不好吗,你去上学走路能到学校,骑自行车也能到学校,可你为什么要骑自行车去呢,不就是为了节省时间嘛,使用分治
算法
同样是这样的,下面给大家普及...
求
因数的高效
算法
今天在做leetcode周赛
算法
题的时候有一道关于
求
因数的题,正常的
算法
和
求
结果都已经做到了,但是对于
一个
大数据量的测试案例却始终无法通过,也就是时间复杂度不满足要
求
。后面思考的时候发现了这一类的题都可以把...
表达式
求
值
算法
总结
表达式
求
值
算法
表达式
求
值,一般采用栈和队列的方式来
求
值,下面介绍...当输入 3 * ( 4 - 1 * 2 ) + 6 / ( 1 + 1 )时,为
简单
方便,我们输入时,按照字符的顺序
一个
一个
的处理,比如 ch = getchar() 然后根据c...
图形处理/算法
19,468
社区成员
50,698
社区内容
发帖
与我相关
我的任务
图形处理/算法
VC/MFC 图形处理/算法
复制链接
扫一扫
分享
社区描述
VC/MFC 图形处理/算法
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章