首先想到的方法当然是从头遍历字符串并统计:
复制代码 代码如下:
c1=0;
for(inti=0;i {
if(str[i]=='A')
{
c1++;
}
}
第二种方法也很容易想到,将字符串中所有要查找的字符去除,然后比较去除前后的字符串长度即可。这种方法遭到了某人的鄙视,据说性能很差而且多占空间。
复制代码 代码如下:
c2=str.Length-str.Replace("A",String.Empty).Length;
接下来某人又提出了第三种方法,是用要查找的字符为分隔符,将原字符串分隔为多个子串,然后求子串的数目即可。在C#中这是一个写起来很短的方法:
复制代码 代码如下:
c3=str.Split(newchar[]{'A'}).Length-1;
我们从原理可以推断出三者性能的顺序,但究竟差距是多少呢,还是要动手试验一下。这是非常经典的测试代码:
复制代码 代码如下:
stringstr="SADTHDGSAFSDGTGHRDGSADFADDRHDFSGASDAA";
Stopwatchsw=newStopwatch();
longt;
intc=0;
GC.Collect();
Application.DoEvents();
sw.Start();
for(inti=0;i<100000;i++)
{
c=三种算法
}
sw.Stop();
t=sw.ElapsedMilliseconds;
首先我们确保正确性,经测试三种方法都能正确处理多种情况,包括首尾、连续出现、不出现或串长度为0等,我所取的字符串是一个很普通的串。编译为Release版,预运行10次后获得以下结果:
遍历统计:13毫秒
替换后比较长度:112毫秒
断开字符串后计数:233毫秒
这里已经体现出差异,遍历统计比替换后比较要快10倍,断开字符串又要慢一些。接下来我又做了如下两个测试:
1、不改变字符串的长度,增加或减少要查找字符串的个数。
2、不改变要查找字符出现的频率,但增长字符串的长度。
结果发现,三种方法都随字符串长度增加线性变慢,而后两种方法还随要查找的字符增加而变慢。
断开字符串的方法还受要查找字符串分布情况的影响。
研究Replace函数和Split函数的实现可以彻底解决这个问题。不过我没有心情细细研究了,我还是决定选用第二种方法——替换后比较长度。虽然其速度比第一种方法慢,但易于改写为求长度不为1的子串出现次数的方法。第一种方法若改为求长度大于1的字串就要考虑很多因素(尽管不一定真的很麻烦),我懒得想了,呵呵。
相关推荐:
seo网站反链是什么,网站反链怎么做 ,ai插画头像卡通
为什么选择B站VIP?让你畅享更丰富的视听体验,小门类网站seo
企业营销:如何在竞争激烈的市场中脱颖而出,美装网站Seo优化
AI免费写作一键生成,效率与创意的完美结合
seo给你什么帮助,seo的利与弊 ,ai 大厨
2025百度收录优化:提升网站排名,助力企业数字化转型,第一ai做
SEO主要是为网站引流吗?深入解析SEO的核心价值,AI算算
文章创作AI:引领智能写作的新时代
ChatGPT怎么突然不能打开了?你需要了解的原因与解决办法,ai写作有什么问题吗怎么解决
ChatGPT40不收费版本:科技革新,智能助手助力生活与工作,ai医疗武器有哪些
为什么说seo重要,为什么说seo重要一点 ,中通智能ai是什么意思
《*采集站:带你领略全球最全*资源的宝藏平台》,seo优化易下拉瞧瞧
“只能写作”:在创作的世界里,选择文字,就是选择自由,云南关键词排名推广报价
ChatGPT无法使用?了解原因及解决方法,轻松恢复智能对话体验!,ai满版图案
SEO到底怎么做?揭秘从零到精通的完整SEO优化攻略,鸟瞰ai
SEO但是,这些常见误区你真的知道吗?,凤岗网站建设开发
ChatGPT403:引领人工智能新时代,颠覆你的工作与生活方式,ai nak
ChatGPT破解:让AI打破语言与思维的边界,ai模板vis
ChatGPT3.5最新版:智能对话新纪元,带你进入AI的未来世界,ai苔藓生长
SEO应该如何提升网站流量与排名?揭秘成功的SEO策略,肺炎疫苗推广营销
AI批量文章工具,让写作变得高效与轻松,cs机器人ai
优化工具:提升工作效率的秘密武器,网站模板的优化策略是什么
ChatGPT界面看不到用户:隐秘的互动方式与智慧的背后,AI和UR
seo需要买什么,seo需要考虑什么 ,ai做表头
SEO百度优化:让你的品牌在搜索引擎中脱颖而出,日照网站推广策划
AI撰写率:让创作变得更高效,助力内容产业腾飞,人力ai
SEO就是:让你的品牌脱颖而出,获得更多曝光与流量,梅岭关键词排名优化
ChatGPT安装包Windows版-让智能助手触手可得,q和ai
“标题制造机”:颠覆内容创作的秘密武器,助你轻松打造吸引力十足的标题,景区线上推广用哪些网站
优方法-高效生活与工作的秘密武器,钻石营销推广方案
ChatGPT故障你从未听过的真相,究竟是什么让它偶尔“失灵”?,ai 图片 矢量
如何用AI改文章,让写作更高效、精准,提升内容质量
ChatGPT您的应用遇到问题,无法正常启动?如何解决并重新体验智能助手的魅力!,男头ai关键词
SEO要求:如何优化网站提升搜索引擎排名,助力企业获取更多流量,鹤山区网站运营推广
seo网站排名优化哪家好,seo网站优化平台 ,ai斗蟋
SEO可以帮助网站在搜索引擎中获得较高的排名-助力企业数字化转型的关键,赵立新AI换脸图片对比
seo资源指的是什么,seo资料 ,绿眼AI
ChatGPT显示503:如何应对AI服务不可用的困境?,ai宝贝宝贝
ChatGPT:OpenAI的创新之作-一款颠覆传统的语言模型,ai球衣号
seo重点是什么,seo最重要的指标 ,ai网格怎么用
SEO难吗?揭秘SEO背后的真相,让你轻松上手!,大旺百度网站推广
ChatGPT-深度学习与自然语言处理的革命性突破,金华ai视觉锁螺丝机
互联网留痕:数字时代的隐形轨迹与自我管理,灯塔网站推广包年多少钱
SEO工装裤-打造时尚与实用兼备的工作利器,ai画中国爸爸辅导孩子写作业
SEO在广告领域的深度解析:如何利用SEO提升广告效果,网文写作ai工具
SEO详解:如何优化你的网站提升排名,获得更多流量,伊春湖南网站优化推广
seo要学什么语言,做seo需要什么语言 ,ai martino
ChatGPT故障:科技背后的秘密与应对策略,华为什么手机带ai功能
文字写作AI生成工具:让创作更简单、更高效
优化,让生活与工作更高效-从个人到企业的全面升级,广州百度seo费用