婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識(shí)庫 > ASP.NET從字符串中查找字符出現(xiàn)次數(shù)的具體實(shí)現(xiàn)方法

ASP.NET從字符串中查找字符出現(xiàn)次數(shù)的具體實(shí)現(xiàn)方法

熱門標(biāo)簽:ai電銷機(jī)器人對(duì)貸款有幫助嗎 怎樣給陜西地圖標(biāo)注顏色 400電話辦理信任翰諾科技 福州人工智能電銷機(jī)器人加盟 地圖標(biāo)注多少錢一張 宿遷智能外呼系統(tǒng)排名 廣州銷售外呼系統(tǒng)定制 云狐人工智能電話機(jī)器人 電銷機(jī)器人 數(shù)據(jù)

首先想到的方法當(dāng)然是從頭遍歷字符串并統(tǒng)計(jì):

復(fù)制代碼 代碼如下:

c1=0;
for(inti=0;i {
if(str[i]=='A')
{
c1++;
}
}

第二種方法也很容易想到,將字符串中所有要查找的字符去除,然后比較去除前后的字符串長(zhǎng)度即可。這種方法遭到了某人的鄙視,據(jù)說性能很差而且多占空間。

復(fù)制代碼 代碼如下:

c2=str.Length-str.Replace("A",String.Empty).Length;

接下來某人又提出了第三種方法,是用要查找的字符為分隔符,將原字符串分隔為多個(gè)子串,然后求子串的數(shù)目即可。在C#中這是一個(gè)寫起來很短的方法:

復(fù)制代碼 代碼如下:

c3=str.Split(newchar[]{'A'}).Length-1;

我們從原理可以推斷出三者性能的順序,但究竟差距是多少呢,還是要?jiǎng)邮衷囼?yàn)一下。這是非常經(jīng)典的測(cè)試代碼:

復(fù)制代碼 代碼如下:

stringstr="SADTHDGSAFSDGTGHRDGSADFADDRHDFSGASDAA";

Stopwatchsw=newStopwatch();

longt;
intc=0;
GC.Collect();
Application.DoEvents();

sw.Start();

for(inti=0;i100000;i++)
{
c=三種算法
}

sw.Stop();

t=sw.ElapsedMilliseconds;

首先我們確保正確性,經(jīng)測(cè)試三種方法都能正確處理多種情況,包括首尾、連續(xù)出現(xiàn)、不出現(xiàn)或串長(zhǎng)度為0等,我所取的字符串是一個(gè)很普通的串。編譯為Release版,預(yù)運(yùn)行10次后獲得以下結(jié)果:

遍歷統(tǒng)計(jì):13毫秒
替換后比較長(zhǎng)度:112毫秒
斷開字符串后計(jì)數(shù):233毫秒

這里已經(jīng)體現(xiàn)出差異,遍歷統(tǒng)計(jì)比替換后比較要快10倍,斷開字符串又要慢一些。接下來我又做了如下兩個(gè)測(cè)試:

1、不改變字符串的長(zhǎng)度,增加或減少要查找字符串的個(gè)數(shù)。
2、不改變要查找字符出現(xiàn)的頻率,但增長(zhǎng)字符串的長(zhǎng)度。

結(jié)果發(fā)現(xiàn),三種方法都隨字符串長(zhǎng)度增加線性變慢,而后兩種方法還隨要查找的字符增加而變慢。

斷開字符串的方法還受要查找字符串分布情況的影響。

研究Replace函數(shù)和Split函數(shù)的實(shí)現(xiàn)可以徹底解決這個(gè)問題。不過我沒有心情細(xì)細(xì)研究了,我還是決定選用第二種方法——替換后比較長(zhǎng)度。雖然其速度比第一種方法慢,但易于改寫為求長(zhǎng)度不為1的子串出現(xiàn)次數(shù)的方法。第一種方法若改為求長(zhǎng)度大于1的字串就要考慮很多因素(盡管不一定真的很麻煩),我懶得想了,呵呵。

您可能感興趣的文章:
  • 利用json獲取字符出現(xiàn)次數(shù)的代碼
  • 統(tǒng)計(jì)jQuery中各字符串出現(xiàn)次數(shù)的工具
  • 找出字符串中出現(xiàn)次數(shù)最多的字母和出現(xiàn)次數(shù)精簡(jiǎn)版
  • JavaScript計(jì)算字符串中每個(gè)字符出現(xiàn)次數(shù)的小例子
  • java字符串比較獲取字符串出現(xiàn)次數(shù)的示例
  • php查找字符串出現(xiàn)次數(shù)的方法
  • php獲取字符串中各個(gè)字符出現(xiàn)次數(shù)的方法
  • JavaScript實(shí)現(xiàn)計(jì)算字符串中出現(xiàn)次數(shù)最多的字符和出現(xiàn)的次數(shù)
  • python統(tǒng)計(jì)字符串中指定字符出現(xiàn)次數(shù)的方法
  • 統(tǒng)計(jì)輸入字符各個(gè)字母出現(xiàn)頻率的解題思路

標(biāo)簽:綿陽 新疆 延安 黃南 曲靖 大興安嶺 宜春 焦作

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《ASP.NET從字符串中查找字符出現(xiàn)次數(shù)的具體實(shí)現(xiàn)方法》,本文關(guān)鍵詞  ASP.NET,從,字符串,中,查找,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《ASP.NET從字符串中查找字符出現(xiàn)次數(shù)的具體實(shí)現(xiàn)方法》相關(guān)的同類信息!
  • 本頁收集關(guān)于ASP.NET從字符串中查找字符出現(xiàn)次數(shù)的具體實(shí)現(xiàn)方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 瓦房店市| 高阳县| 那坡县| 东至县| 博爱县| 平度市| 平邑县| 芷江| 南皮县| 丰顺县| 玉环县| 察雅县| 新竹县| 黔东| 滕州市| 新郑市| 法库县| 汶上县| 内乡县| 寿阳县| 嘉荫县| 宁安市| 视频| 淅川县| 顺平县| 九寨沟县| 武宁县| 中西区| 墨江| 万载县| 饶平县| 皋兰县| 营山县| 晋江市| 临颍县| 镶黄旗| 琼海市| 财经| 皮山县| 陆川县| 兰考县|