摘要:老师录入的时候,需要输入姓和名例如字母均为大写,姓名以空格隔开,并且要将这些人按一定规则排序。输入输入包括多行,每一行两个字符串,代表一个人的姓和名。输出输出排序后的名单。
题目描述:
马上就要开学啦,教务处的老师拿到新生名单,现在他需要根据考生的姓名录入一个拼音版的新名单。老师录入的时候,需要输入姓和名(例如:ZHANG SAN字母均为大写,姓名以空格隔开),并且要将这些人按一定规则排序。
排序的方式如下:
首先,按照该姓出现的次数排序,即:姓出现次数多的人先排序;
其次,若两个人的姓出现的次数一样多(或者是同一个姓),按照原名单的顺序。
输入包括多行,每一行两个字符串,代表一个人的姓和名。
输出输出排序后的名单。
样例输入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) { //提取姓氏数组xingArray var xingArray = []; for (var i = 0; i < array.length; i++) { var xingindex = array[i].indexOf(" "); xingArray.push(array[i].slice(0, xingindex)); } //得到删除姓氏数组中重复项的数组(简化姓氏数组simpleArr) var simpleArr = []; for (var i = 0; i < xingArray.length; i++) { if (simpleArr.indexOf(xingArray[i]) == -1) { simpleArr.push(xingArray[i]); } } // console.log(simpleArr); //统计姓名数组中各个姓氏出现的次数 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); //计算姓氏出现次数中的最大项 var maxCount = 0; for (var i = 0; i < countArray.length; i++) { if (countArray[i] > maxCount) { maxCount = countArray[i]; } } //将出现同一次数的姓氏归并到一个数组,形成一个二维数组 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); //对姓名进行排序 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);
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/106958.html
摘要:具体的时间线从月中旬,我开始关注牛客网的秋招内推信息。直至十月中下旬结束秋招。之前也写过自己在广州找实习的经历,那次把面试的过程都具体贴出来了。我今年就完美错过了春招实习经历。 前言 只有光头才能变强 离上次发文章已经快两个月时间了,最近一直忙着秋招的事。今天是2018年10月22日,对于互联网行业来说,秋招就基本结束了。我这边的流程也走完了(不再笔试/面试了),所以来写写我的秋招经历...
摘要:总体来说,玄武科技的真的很热情,为他们点个赞,虽然自己最后没能去玄武科技,然后就是技术面非常简单,面和高管面也都还好,不会有压抑的感觉,总体聊得很愉快。 该文已加入开源文档:JavaGuide(一份涵盖大部分Java程序员所需要掌握的核心知识)。地址:https://github.com/Snailclimb... 秋招历程流水账总结 笔主大四准毕业生,在秋招末流比较幸运地进入了一家...
摘要:拿到秋招的同学,如确定入职需与用人单位签署三方协议,以保证双方的利益不受损失。当然每个岗位所要求的侧重点不同,但却百变不离其宗。方法论要想达成某个目标都有其特定的方法论,学习技术也不例外,掌握适当的学习方法才能事半功倍。 写在前面的话 笔者从17年的2月份开始准备春招,其中遇到不少坑,也意识到自己走过的弯路。故写了这篇文章总结一番,本文适合主动学习的,对自己要学的课程不明确的,对面试有...
阅读 2261·2021-10-09 09:41
阅读 3114·2021-09-26 09:46
阅读 804·2021-09-03 10:34
阅读 3110·2021-08-11 11:22
阅读 3335·2019-08-30 14:12
阅读 685·2019-08-26 11:34
阅读 3309·2019-08-26 11:00
阅读 1694·2019-08-26 10:26