JS-取出字符串中重復次數最多的字符并輸出

?

/**取出字符串中重復字數最多的字符
*/
var words = 'sdfghjkfastgbyhnvdstyaujskgfdfhlaa';        //創建字符串
var word,                            //單個字符length;                          //該字符的長度
//定義輸出對象
var max = {wordName : '',                       //重復次數最多的字符wordLength : 0                       //重復的次數
};
//遞歸方法,傳入字符串
(function(words) {if (!words) return;                 //如果字符串已經變空則返回,結束遞歸word    = words[0];                	//取出字符串中的第一個字符length  = words.length;                 //將length設為當前字符串長度words   = words.replace(new RegExp(word, 'g'), ''); //返回將字符串剔除當前字符的剩余字符串length  = length - words.length;            //重設length為當前字符在字符串中的長度if (length > max.wordLength)             //如果該字符重復次數大于maxLength,則重設maxLength為當前字符重復次數max = {                              //重設對象的值wordName    : word,                        wordLength  : length               };                             arguments.callee(words);                //遞歸調用,傳入剩余字符串
})(words);
console.log(max.wordName+"\n"+max.wordLength);          //遞歸結束后輸出結果

  

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

思路是

  每遞歸一次.取出第一個字符.從字符串中剔除相同符號的字符,并拿之前的字符串長度減去剔除后的字符串長度.

  得到的是該字符串中當前字符所重復次數.

  判斷該字符重復次數是否大于當前輸出對象中存儲的maxLength.

  如true,則更新

  然后進入下次遞歸,直到字符串被替換完,終止

  輸出對象中存儲的就是次數最多的字符以及重復的次數

轉載于:https://www.cnblogs.com/jiasm/p/4381354.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/376114.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/376114.shtml
英文地址,請注明出處:http://en.pswp.cn/news/376114.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

windows下查看靜態庫和動態庫的導出函數

在window下查看動態庫的導出函數可以用vs自帶的Depends工具; 查看靜態庫的信息要用命令行來實現: dumpbin /LINKERMEMBER Test.lib > 1.txt 上面的功能是將靜態庫的信息導出保存在1.txt文件中,這樣就可以在1.txt文件中查看相關的信…

linux ll 文件大小單位_該如何改善 Linux 系統性能?

系統性能一直是一個受關注的話題,如何通過最簡單的設置來實現最有效的性能調優,如何在有限資源的條件下保證程序的運作,ulimit 是我們在處理這些問題時,經常使用的一種簡單手段。ulimit 是一種 linux 系統的內鍵功能,它…

深入Javascript中apply、call、bind

最近在看一下node package的源碼,發現很多里面都包含了function這個對象的apply、call、bind這三個方法,于是想拿出來再看看。。 apply、call 在 javascript 中,call 和 apply 都是為了改變某個函數運行時的上下文(context&#x…

優秀案例!教您如何設計現代簡約風格網頁

我們看到越來越多的設計師開始擁抱簡約的網站設計方法,消除網站不必要的元素,保留真正重要的內容,干凈、直觀的設計,就像今天的我們將展示的這些網站。 下面是一組不同風格的簡約設計的網站例子,美麗的導航、整潔的菜單…

怎么清理mysql的死鏈接_什么是死鏈接?如何正確處理死鏈接

什么是死鏈接?我們應該如何正確處理死鏈接呢?小剛SEO為你解答。什么是死鏈接?因鏈接更改或搜索引擎所收錄的網站路徑被刪除了,形成沒法打開的死鏈接。死鏈接的危害:1.死鏈數據過多時,對網站訪問體驗和用戶轉…

數據分頁和使用存儲過程的數據分頁

--使用存儲過程的數據分頁 --pageSize 一頁有多少條 --pageIndex 第幾頁 --totalCount 總共有多少條 --分頁的第一種方法 select top(10) * from Ams_Area where ar_id not in ( Select top(0) ar_id from Ams_Area order by ar_id ) order by ar_id --分頁的第二種方…

mysql generaton_Mysql 集成隨機唯一id mysql unique number generation

一句代碼:SELECT FLOOR(10000 RAND() * 89999) AS random_numberFROM table1WHERE "random_number" NOT IN (SELECT unique_id FROM table2)LIMIT 1隨機生成5位數字,并且不重復。上面的代碼真是給人無限的聯想力。例如:function g…

NavMeshAgent 動態加載障礙物

如果你想讓游戲人物繞開一些物體, 這些物體動態生成出來的.只需要給物體添加NavMeshObstacle組件即可 1. 綠色方塊添加NavMeshObstacle組件 2. 紅色方塊沒有添加NavMeshObstacle組件,被小球穿透了%>_<% 轉載于:https://www.cnblogs.com/plateFace/p/4385629.html

多任務 schedule python_Python3.6 Schedule 模塊定時任務 (實例講解)

Python3.6 Schedule 模塊定時任務 (實例講解)Python 是一種面向對象解釋型計算機程序設計語言, 由 Guido van Rossum 于 1989 年底發明, 第一個公開發行版發行于 1991 年 Python 語法簡潔而清晰, 具有豐富和強大的類庫它常被昵稱為膠水語言, 它能夠把用其他語言制作的各種模塊 …

UVa 11468 (AC自動機 概率DP) Substring

將K個模板串構成一個AC自動機&#xff0c;那些能匹配到的單詞節點都稱之為禁止節點。 然后問題就變成了在Tire樹上走L步且不經過禁止節點的概率。 根據全概率公式用記憶化搜索求解。 1 #include <cstdio>2 #include <cstring>3 #include <queue>4 using name…

mysql 檢查點_my05_mysql檢查點簡述

簡單描述一下mysql 檢查點&#xff0c;對mysql數據庫恢復的理解有所幫助。數據庫版本mysql> selectversion();-----------| version() |-----------| 8.0.11 |-----------1 row in set (0.00 sec)檢查點查看mysql>show engine innodb status\G;---LOG---Log sequence num…

VS2010無法執行自動化測試解決方案

在實際的工作過程中&#xff0c;當你發現你的VS2010無法執行自動化測試用例&#xff0c;剛好你發現你的電腦安裝有VS2012&#xff0c;那么好了&#xff0c;請卸載你的VS2012再試試...轉載于:https://www.cnblogs.com/captainR/p/3566751.html

停止Hadoop或HBase集群的腳本

#!/bin/sh #echo "waring" #read NAME #等待用戶輸入并把輸入的值付給NAME NAME$1 #將腳本第一個參數賦給NAME #引用變量時加上"{}",是個好習慣,利于shell辨別變量邊界 if [ -z ${NAME} ] ; then #執行腳本沒有輸入參數,默認關閉hadoopstop-all.sh elif [ …

css 偽元素分享!!!

最近接觸到的css 偽元素覺得還算不錯 分享下&#xff1a; 1、清楚內盒浮動設置&#xff1a; .back_list ul{padding:12px 0 0 12px;zoom:1;} .back_list ul:after{clear: both;content: ".";display: block;height: 0;visibility: hidden;}/*清楚內盒浮動設置*/ 2、偽…

公鑰和私鑰 java_公鑰與私鑰 - yxhxj2006 - BlogJava

評論# re: 公鑰與私鑰 [未登錄]2014-01-08 17:43workeruseful for me 回復 更多評論# re: 公鑰與私鑰2014-04-18 11:05Eva特別棒&#xff01; 謝謝&#xff01;worker回復 更多評論# re: 公鑰與私鑰 [未登錄]2014-06-11 17:10mike# re: 公鑰與私鑰2014-11-10 17:05游客太有用…

zepto學習之路--源代碼提取

最近在看zepto的源代碼&#xff0c;把一些有用的函數摘出來&#xff0c;看看zepto是怎么實現的&#xff0c;自己做的時候也可以用。說實話&#xff0c;zepto的實現有一些看起來還是很晦澀的&#xff0c;可能是自己的水平不夠&#xff0c;看不透作者的真正的意圖。 1、zepto的正…

java byte 整數_java整數與byte數組的轉換實現代碼

java整數與byte數組的轉換實現代碼這里對java中整數與byte數組的轉換進行了實現&#xff0c;平時的項目中很少用的到&#xff0c;但是特定需求的時候還是需要的&#xff0c;這里就記錄下&#xff0c;親測可用&#xff0c;實現代碼&#xff1a;public class NumberUtil {/*** in…

藍橋杯 花朵數

一個N位的十進制正整數&#xff0c;如果它的每個位上的數字的N次方的和等于這個數本身&#xff0c;則稱其為花朵數。 例如&#xff1a; 當N3時&#xff0c;153就滿足條件&#xff0c;因為 1^3 5^3 3^3 153&#xff0c;這樣的數字也被稱為水仙花數&#xff08;其中&#xff0…

windows 2003添加刪除windows組件中無iis應用程序服務器項的解決方法

解決方法如下: 1.開始 -- 運行,輸入 c:\Windows\inf\sysoc.inf,會打開這個文件;在sysoc.inf中找到"[Components]"這一段,并繼續找到類 似"iisiis.dll,OcEntry,iis.inf,hide,7" 的一行字,把這一行替換為"iisiis.dll,OcEntry,iis.inf,,7"。如果已經…

java打印菱形代碼_Java打印菱形高效簡潔代碼

importjava.util.Scanner;publicclass打印菱形{publicstaticvoidmain(String[]args){/**菱形**************************/ScannerinputScannernewScanner(System.in);System.out.prin...import java.util.Scanner;public class 打印菱形 {public static void main(String[] arg…