JS 取出字串中重複次數最多的字元並輸出

2021-09-20 09:12:48 字數 757 閱讀 8617

/**

取出字串中重複字數最多的字元

*/var words = 'sdfghjkfastgbyhnvdstyaujskgfdfhlaa';      //建立字串

var word,                          //單個字元

length;                          //該字元的長度

//定義輸出物件

var max = ;

//遞迴方法,傳入字串

(function(words) ;

arguments.callee(words); //遞迴呼叫,傳入剩餘字串

})(words);

console.log(max.wordname+"\n"+max.wordlength); //遞迴結束後輸出結果

今天上午偶然看見這樣的乙個問題.看到網上大部分是用兩個迴圈做出來的.然後自己用遞迴寫了一下

思路是每遞迴一次.取出第乙個字元.從字串中剔除相同符號的字元,並拿之前的字串長度減去剔除後的字串長度.

得到的是該字串中當前字元所重複次數.

判斷該字元重複次數是否大於當前輸出物件中儲存的maxlength.

如true,則更新

然後進入下次遞迴,直到字串被替換完,終止

輸出物件中儲存的就是次數最多的字元以及重複的次數

JS 取出字串中重複次數最多的字元並輸出

取出字串中重複字數最多的字元 var words sdfghjkfastgbyhnvdstyaujskgfdfhlaa 建立字串 var word,單個字元 length 該字元的長度 定義輸出物件 var max 遞迴方法,傳入字串 function words arguments.callee ...

輸出字串中重複次數最多的字元和次數

這是我昨天去實習面試時遇到的題目的改進版,當時的問題是輸出最多的次數,後面回家覆盤的時候想到還可以輸出字元,網上看了下很多用的方法比較複雜,於是記錄乙個非常初級的方法,做乙個思路的分享。具體思路為 將字串先轉為陣列 只是簡單的考慮到連續的字串的情況 遍歷陣列依次拿出每乙個字元。再巢狀乙個for迴圈,...

求陣列中重複次數最多的元素

例如 陣列a 元素2 3 7 8各出現1次,1出現兩次,5出現4次,則重複次數最多的元素為5.定義乙個陣列int cnt max 將其元素全部初始化為0。然後遍歷陣列a,執行cnt a i 操作。最後在cnt陣列中找最大的數,對應的數即為重複次數最多的數。示例如下 以空間換時間,索引法 int ma...