1、美团算法题
2021/10/2 14:10:20
本文主要是介绍1、美团算法题,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1. 同类项统计
给定数组['1a','2b','13c','5a'],数组元素的格式是一个数字(可能多位)前缀与一个字母的组合,输出出现次数最多的字母对应的前缀数字之和。
思路:使用hash。
- 将字母作为键;
- 将数组[字母出现的次数,前缀数字之和]作为键值。
实现:
function fun(arr){ let map = new Map(); for(let i=0;i<arr.length;i++){ let n1 = arr[i].slice(0,arr[i].length-1)-'0'; let n2 = arr[i][arr[i].length-1]; if(!map.has(n2)){ //该字母第一次出现 map.set(n2,[1,n1]); }else{ //该字母之前已出现。更新其出现的次数、累加和 let old = map.get(n2); map.set(n2,[old[0]+1,old[1]+n1]); } } let res = 0; //出现的最多次数所对应的累加和 let max = 0; //出现的最多次数 for(let key of map.keys()){//寻找出现次数最多的字母 const item = map.get(key); if( item[0]>max){ max = item[0]; res = item[1]; } } return res; } let arr = ['1a','2b','13c','5a']; console.log(fun(arr)); //6
这篇关于1、美团算法题的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南