摘要:老师录入的时候,需要输入姓和名例如字母均为大写,姓名以空格隔开,并且要将这些人按一定规则排序。输入输入包括多行,每一行两个字符串,代表一个人的姓和名。输出输出排序后的名单。
题目描述:
马上就要开学啦,教务处的老师拿到新生名单,现在他需要根据考生的姓名录入一个拼音版的新名单。老师录入的时候,需要输入姓和名(例如: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月份开始准备春招,其中遇到不少坑,也意识到自己走过的弯路。故写了这篇文章总结一番,本文适合主动学习的,对自己要学的课程不明确的,对面试有...
阅读 2630·2021-10-09 09:41
阅读 3709·2021-09-26 09:46
阅读 1192·2021-09-03 10:34
阅读 3370·2021-08-11 11:22
阅读 3538·2019-08-30 14:12
阅读 921·2019-08-26 11:34
阅读 3493·2019-08-26 11:00
阅读 2058·2019-08-26 10:26