社区
图形处理/算法
帖子详情
求一个简单的算法
jill_yang
2000-07-14 10:21:00
加精
我有两个数组,一个数组记录“中”字在一篇文章中的偏移地址,另一个记录“国”字在一篇文章中的偏移地址,例A[]是记录“中”字偏移地址的数组,A[0]=1,A[1]=6,B[]是记录“国"字的数组,假设两个数组的大小都已知,现在要得出一个数组记录包含“中国”这个词在文章中的偏移地址,这个算法速度越快越好
...全文
260
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++;
}
}
(
算法
)通俗易懂的字符串匹配KMP
算法
及
求
next值
算法
大多数据结构课本中,串涉及的内容即串的模式匹配,需要掌握的是朴素
算法
、KMP
算法
及next值的
求
法。在考研备考中,参考严奶奶的教材,我也是在关于
求
next值的
算法
中卡了一下午时间,感觉挺有意思的,把一些思考的结果整理出来,与大家一起探讨。 以下的顺序为 1、最基本的朴素
算法
2、优化的KMP
算法
3、应
算法
需要定义的next值 4、手动写出较短串的next值的方法 5、最难理解的、足足有5行的代码...
一个
简单
的分治
算法
(
求
最大最小值)
分治
算法
求
最大最小值 首先我们为什么要用分治
算法
来
求
最大最小值,用循环比较
一个
个来不好吗,你去上学走路能到学校,骑自行车也能到学校,可你为什么要骑自行车去呢,不就是为了节省时间嘛,使用分治
算法
同样是这样的,下面给大家普及一下分治
算法
思想: 分治
算法
思想: 分治
算法
的基本思想是将
一个
规模为N的问题分解为K个规模较小的子问题,这些子问题相互独立且与原问题性质相同。
求
出子问题的解,就可得到原问
求
因数的高效
算法
今天在做leetcode周赛
算法
题的时候有一道关于
求
因数的题,正常的
算法
和
求
结果都已经做到了,但是对于
一个
大数据量的测试案例却始终无法通过,也就是时间复杂度不满足要
求
。后面思考的时候发现了这一类的题都可以把时间复杂度从O(n)降到.在这里记录一下方法。 题目是这样的:https://leetcode-cn.com/problems/four-divisors/ 这题的普通解法是: 1.遍...
表达式
求
值
算法
总结
表达式
求
值
算法
表达式
求
值,一般采用栈和队列的方式来
求
值,下面介绍表达式
求
值的两种
算法
。 方法一、使用两个栈,
一个
为操作符栈OPTR(operator),
一个
是操作数栈OPND(operand)
算法
过程: 当输入 3 * ( 4 - 1 * 2 ) + 6 / ( 1 + 1 )时,为
简单
方便,我们输入时,按照字符的顺序
一个
一个
的处理,比如 ch = getchar() 然后根据c...
几种常见的
简单
算法
几种常见的
简单
算法
二分查找问题描述具体实现欧几里得
算法
(辗转相除法)问题描述具体实现幂运算问题描述具体实现 首先祝大家1024程序员节快乐,容许我水一篇文章,这里主要介绍几种
简单
的
算法
,并结合具体事例看看它们是如何实现的 二分查找 问题描述 给定
一个
按从小到大顺序排列好的数组,寻找数组里的
一个
数字,如果找到了,就输出该数字在数组中对应的下标,找不到,就输出"没找到" 具体实现 给定
一个
数组arr[10]={0,1,2,3,4,5,6,7,8,9},在这个数组中寻找7并输出其下标,找不到就输出"没找到"
图形处理/算法
19,468
社区成员
50,698
社区内容
发帖
与我相关
我的任务
图形处理/算法
VC/MFC 图形处理/算法
复制链接
扫一扫
分享
社区描述
VC/MFC 图形处理/算法
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章