摘要:老師錄入的時(shí)候,需要輸入姓和名例如字母均為大寫,姓名以空格隔開,并且要將這些人按一定規(guī)則排序。輸入輸入包括多行,每一行兩個(gè)字符串,代表一個(gè)人的姓和名。輸出輸出排序后的名單。
題目描述:
馬上就要開學(xué)啦,教務(wù)處的老師拿到新生名單,現(xiàn)在他需要根據(jù)考生的姓名錄入一個(gè)拼音版的新名單。老師錄入的時(shí)候,需要輸入姓和名(例如:ZHANG SAN字母均為大寫,姓名以空格隔開),并且要將這些人按一定規(guī)則排序。
排序的方式如下:
首先,按照該姓出現(xiàn)的次數(shù)排序,即:姓出現(xiàn)次數(shù)多的人先排序;
其次,若兩個(gè)人的姓出現(xiàn)的次數(shù)一樣多(或者是同一個(gè)姓),按照原名單的順序。
輸入包括多行,每一行兩個(gè)字符串,代表一個(gè)人的姓和名。
輸出輸出排序后的名單。
樣例輸入ZHANG SAN
LI SI
WANG WU
WANG LIU
WANG QI
ZHANG WU
LI WU
WANG WU
WANG LIU
WANG QI
ZHANG SAN
LI SI
ZHANG WU
LI WU
var array = ["ZHANG SAN", "LI SI", "WANG WU", "WANG LIU", "WANG QI", "ZHANG WU", "LI WU"]; function sort(array) { //提取姓氏數(shù)組xingArray var xingArray = []; for (var i = 0; i < array.length; i++) { var xingindex = array[i].indexOf(" "); xingArray.push(array[i].slice(0, xingindex)); } //得到刪除姓氏數(shù)組中重復(fù)項(xiàng)的數(shù)組(簡(jiǎn)化姓氏數(shù)組simpleArr) var simpleArr = []; for (var i = 0; i < xingArray.length; i++) { if (simpleArr.indexOf(xingArray[i]) == -1) { simpleArr.push(xingArray[i]); } } // console.log(simpleArr); //統(tǒng)計(jì)姓名數(shù)組中各個(gè)姓氏出現(xiàn)的次數(shù) var countArray = []; for(var i = 0; i < simpleArr.length; i++) { var num = 0; for(var j = 0; j < array.length; j++) { if(simpleArr[i] == array[j].slice(0, array[j].indexOf(" "))) { num++; } } countArray.push(num); } // console.log(countArray); //計(jì)算姓氏出現(xiàn)次數(shù)中的最大項(xiàng) var maxCount = 0; for (var i = 0; i < countArray.length; i++) { if (countArray[i] > maxCount) { maxCount = countArray[i]; } } //將出現(xiàn)同一次數(shù)的姓氏歸并到一個(gè)數(shù)組,形成一個(gè)二維數(shù)組 var sortXing = []; while(maxCount) { var xingteam = []; for(var i = 0; i < countArray.length; i++) { if(countArray[i] == maxCount) { xingteam.push(simpleArr[i]); } } sortXing.push(xingteam); maxCount--; } // console.log(sortXing); //對(duì)姓名進(jìn)行排序 var sortName = []; for(var i= 0; i < sortXing.length; i++) { for(var j = 0; j < array.length; j++) { for(var k = 0; k < sortXing[i].length; k++) { if(sortXing[i][k] == array[j].slice(0, array[j].indexOf(" "))) { sortName.push(array[j]); } } } } console.log(sortName); } sort(array);
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/106958.html
摘要:具體的時(shí)間線從月中旬,我開始關(guān)注牛客網(wǎng)的秋招內(nèi)推信息。直至十月中下旬結(jié)束秋招。之前也寫過自己在廣州找實(shí)習(xí)的經(jīng)歷,那次把面試的過程都具體貼出來了。我今年就完美錯(cuò)過了春招實(shí)習(xí)經(jīng)歷。 前言 只有光頭才能變強(qiáng) 離上次發(fā)文章已經(jīng)快兩個(gè)月時(shí)間了,最近一直忙著秋招的事。今天是2018年10月22日,對(duì)于互聯(lián)網(wǎng)行業(yè)來說,秋招就基本結(jié)束了。我這邊的流程也走完了(不再筆試/面試了),所以來寫寫我的秋招經(jīng)歷...
摘要:總體來說,玄武科技的真的很熱情,為他們點(diǎn)個(gè)贊,雖然自己最后沒能去玄武科技,然后就是技術(shù)面非常簡(jiǎn)單,面和高管面也都還好,不會(huì)有壓抑的感覺,總體聊得很愉快。 該文已加入開源文檔:JavaGuide(一份涵蓋大部分Java程序員所需要掌握的核心知識(shí))。地址:https://github.com/Snailclimb... 秋招歷程流水賬總結(jié) 筆主大四準(zhǔn)畢業(yè)生,在秋招末流比較幸運(yùn)地進(jìn)入了一家...
摘要:拿到秋招的同學(xué),如確定入職需與用人單位簽署三方協(xié)議,以保證雙方的利益不受損失。當(dāng)然每個(gè)崗位所要求的側(cè)重點(diǎn)不同,但卻百變不離其宗。方法論要想達(dá)成某個(gè)目標(biāo)都有其特定的方法論,學(xué)習(xí)技術(shù)也不例外,掌握適當(dāng)?shù)膶W(xué)習(xí)方法才能事半功倍。 寫在前面的話 筆者從17年的2月份開始準(zhǔn)備春招,其中遇到不少坑,也意識(shí)到自己走過的彎路。故寫了這篇文章總結(jié)一番,本文適合主動(dòng)學(xué)習(xí)的,對(duì)自己要學(xué)的課程不明確的,對(duì)面試有...
閱讀 2394·2021-10-09 09:41
閱讀 3192·2021-09-26 09:46
閱讀 842·2021-09-03 10:34
閱讀 3173·2021-08-11 11:22
閱讀 3377·2019-08-30 14:12
閱讀 720·2019-08-26 11:34
閱讀 3352·2019-08-26 11:00
閱讀 1781·2019-08-26 10:26