今天看到一道題,搜尋出字串中出現次數最多的字元,並統計其次數,就自己動手寫一下,是用遞迴來實現的,原理是這樣的:每一次都取出字串str的第乙個字元fs,統計出其在字串str中出現的次數n,然後把字串str中的fs刪除,一直到字串str的長度小於n。
1varstr="
aaaa13123aass123123121sssssddd123d1231231dddd";
2varfs=
"";//儲存出現次數最多的字元
3varn=
0;//儲存次數
4function
finestr(s,n,fs)
//如果大於當前次數,則更新字元和次數9s
=s.replace(rf,
"");
//清除串中所有當前字元
10if
(s.length
<
n)//
退出條件
11return
finestr(s,n,fs);
//遞迴12}
1314
varar
=finestr(str,n,fs);
15alert(ar);
上面的**還乙個問題,就是如果出現最多的字元不是乙個,而是有幾個時,只能查詢出第乙個出現的字元,下面的**是經過修改後的,會找出所有出現次數最高的字元
view source
print?
01
function
finestr(s,n,fs)
07
s=s.replace(rf,
""
);
08
if
(s.lengthreturn
[
"出現次數最多的字元是:"
+fs.join(
","
),
"總次數為:"
+n];}
09
return
finestr(s,n,fs);
10
}
11
12
var
str=
"23234kjafh328akdjfh9238442"
;
13
alert(finestr(str,0,));
找出字串中出現次數最多的字
關於找出乙個包含中文和英文的字串中出現次數最多的字,自己在網上找了各種解決方法,最後總結出了以下4種方法 我是用php實現的,直接複製即用。str 法律框架go啊放假了ajg崑崙劍法,發 eoi 方法一 strlen mb strlen str,utf 8 獲取中文長度,空格也包括 arr arra...
查詢字串中出現次數最多的字元
如下 include using namespace std typedef struct nodesnode 返回次數最多的字元節點,從大到小排阿node 0 c count最大 snode checkcount snode node,int len for int i 0 i len 1 i s...
找出字串中連續出現次數最多的子串
基本演算法描述 給出乙個字串abababa 1.窮舉出所有的字尾子串 substrs 0 abababa substrs 1 bababa substrs 2 ababa substrs 3 baba substrs 4 aba substrs 5 ba substrs 6 a 2.然後進行比較 s...