/**取出字串中重複字數最多的字元
*/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...