摘要:找出一個(gè)字符串中出現(xiàn)次數(shù)最多的字符并統(tǒng)計(jì)次數(shù)看到這個(gè)題目時(shí),第一個(gè)想到的是怎么進(jìn)行字符匹配,拆開(kāi)字符串再通過(guò)循環(huán)用進(jìn)行匹配,同時(shí)做個(gè)計(jì)數(shù)器進(jìn)行累加。
找出一個(gè)字符串中出現(xiàn)次數(shù)最多的字符并統(tǒng)計(jì)次數(shù)
看到這個(gè)題目時(shí),第一個(gè)想到的是怎么進(jìn)行字符匹配,拆開(kāi)字符串再通過(guò)循環(huán)用 indexOf 進(jìn)行匹配,同時(shí)做個(gè)計(jì)數(shù)器進(jìn)行累加。
寫(xiě) indexOf 的時(shí)候又突然想到,好像能進(jìn)行 match ,直接拿到匹配結(jié)果,但試了一下只能匹配到第一個(gè)(all 呢?是不是有 matchAll?)。
隨后查了ES6的資料 ECMAScript 6 入門(mén)
看到這個(gè)感覺(jué)這個(gè)題目簡(jiǎn)單了(但實(shí)際上還有點(diǎn)曲折)。
。。。
可惜現(xiàn)在還用不了。。。
改用 match 組合 /g 得到了需要的結(jié)果:
let str="hajjfhlhhff"; let _arr = []; // 存儲(chǔ)統(tǒng)計(jì)數(shù)用 let tmp = []; // 臨時(shí)存儲(chǔ)其中一個(gè)字母的數(shù)量 for (let val of str) { tmp = str.match(eval("/"+val+"/g")); // tmp 的長(zhǎng)度就是該字母重復(fù)出現(xiàn)的次數(shù) if (_arr[tmp.length] === undefined) { _arr[tmp.length] = val; }else if ( !_arr[tmp.length].includes(val)){ // 把相同數(shù)量的字母拼在一起顯示 _arr[tmp.length] = val + "," + _arr[tmp.length]; } } // _arr 的索引位置就是字母重復(fù)出現(xiàn)的次數(shù) console.log(_arr);
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/105797.html
摘要:擴(kuò)展字符串中出現(xiàn)次數(shù)最對(duì)的字符是哪一項(xiàng)并統(tǒng)計(jì)實(shí)例方法可返回指定位置的字符。請(qǐng)注意,并沒(méi)有一種有別于字符串類(lèi)型的字符數(shù)據(jù)類(lèi)型,所以返回的字符是長(zhǎng)度為的字符串。語(yǔ)法注釋字符串中第一個(gè)字符的下標(biāo)是。如果參數(shù)不在與之間,該方法將返回一個(gè)空字符串。 實(shí)例1 var a,sum = 0; var obj = {}; var arr = [1,3,7,3,1,8,1,10,6,1]; for(va...
摘要:答案使用,申請(qǐng)一個(gè)長(zhǎng)度為類(lèi)型的,每個(gè)位置只表示或,該數(shù)組占用空間約。遍歷億個(gè)數(shù),當(dāng)前數(shù)為,落在區(qū)間,對(duì)應(yīng)。 過(guò)濾100億黑名單 題目 假設(shè)有100億個(gè)URL的黑名單,每個(gè)URL最多占用64B,設(shè)計(jì)一個(gè)過(guò)濾系統(tǒng),判斷某條URL是否在黑名單里。 要求 不高于萬(wàn)分之一的判斷失誤率;額外內(nèi)存不超過(guò)30GB 答案 100億個(gè)64B的URL需要640GB的內(nèi)存,顯然直接存哈希表不合理。考慮布隆過(guò)濾...
摘要:具體做法新建一個(gè)空對(duì)象遍歷給定的字符串接下來(lái)就是最重要的把字符作為值,對(duì)應(yīng)次數(shù)作為添加給。判斷是否存在當(dāng)前循環(huán)的字符,有則讓即次數(shù),否則把當(dāng)前項(xiàng)作為添加給。出現(xiàn)次數(shù)最多的字符為和,出現(xiàn)次數(shù)為次。 分析 題目的意思大致就是找出每個(gè)字符出現(xiàn)的次數(shù),然后比較大小。那么每個(gè)字符都應(yīng)該對(duì)應(yīng)它出現(xiàn)的次數(shù)。既然是一一對(duì)應(yīng)的,那我們就想到用對(duì)象的key和value來(lái)儲(chǔ)存字符和其出現(xiàn)的次數(shù)。 具體做法 ...
摘要:?jiǎn)栴}中有這么一個(gè)問(wèn)題,給定一個(gè)序列,找出該序列出現(xiàn)次數(shù)最多的元素。例如統(tǒng)計(jì)出中出現(xiàn)次數(shù)最多的元素初步探討模塊的類(lèi)首先想到的是模塊的類(lèi),具體用法看這里具體用法看這里具體用法看這里,重要的事情強(qiáng)調(diào)三遍。 問(wèn)題 《Python Cookbook》中有這么一個(gè)問(wèn)題,給定一個(gè)序列,找出該序列出現(xiàn)次數(shù)最多的元素。例如: words = [ look, into, my, eyes, look...
摘要:給定一個(gè)字符數(shù)組,例如找出數(shù)組中出現(xiàn)次數(shù)最多的字符,如果存在相同次數(shù)的字符,取出現(xiàn)較早者。 給定一個(gè)字符數(shù)組,例如char[] chars = { a, b, b, b, b, c, a, a, a};找出數(shù)組中出現(xiàn)次數(shù)最多的字符,如果存在相同次數(shù)的字符,取出現(xiàn)較早者。一個(gè)問(wèn)題的解決方案有多種: 利用數(shù)據(jù)結(jié)構(gòu)的特性,鏈表保證了插入順序,Map正是我們想要的字符與出現(xiàn)次數(shù)對(duì)應(yīng)關(guān)系的映...
閱讀 2228·2021-09-30 09:47
閱讀 990·2021-08-27 13:01
閱讀 2973·2019-08-30 15:54
閱讀 3699·2019-08-30 15:53
閱讀 839·2019-08-29 14:07
閱讀 727·2019-08-28 18:16
閱讀 815·2019-08-26 18:37
閱讀 1422·2019-08-26 13:27