当前位置: 首页 > news >正文

前端算法合集-1(含面试题)

 (这是我面试一家中厂公司的二面算法题)

数组去重并按出现次数排序

题目描述: 给定一个包含重复元素的数组,请你编写一个函数对数组进行去重,并按元素出现的次数从高到低排序。如果次数相同,则按元素值从小到大排序。

    let arr = [2, 11,10, 10,10, 3, 4, 10, 11, 11, 11]function uniquearr(arr){//利用map统计数组每个元素出现次数let map=new Map();arr.forEach(item => {if(map.has(item)){let currentcount=map.get(item)map.set(item,currentcount+1)}else{map.set(item,1)}});//转为普通二维数组排序arr=Array.from(map)arr.sort((a,b)=>{if(a[1]==b[1]){return b[0]-a[0]}else {return b[1]-a[1]}})//转为一维数组得到结果for(let i=0;i<arr.length;i++){arr[i]=arr[i][0]}return arr}

http://www.lryc.cn/news/452723.html

相关文章:

  • 影刀---如何进行自动化操作
  • 146. LRU 缓存【 力扣(LeetCode) 】
  • 【算法】链表:92.反转链表(medium)+双指针
  • Command | Ubuntu 个别实用命令记录(新建用户、查看网速等)
  • 云服务器部署k8s需要什么配置?
  • Linux --入门学习笔记
  • 并发编程三大特性(原子性、可见性、有序性)
  • 物理学基础精解【41】
  • 深入理解Linux内核网络(一):内核接收数据包的过程
  • mysql学习教程,从入门到精通,SQL LIKE 运算符(28)
  • uniapp微信小程序使用ucharts遮挡自定义tabbar的最佳解决方案
  • C初阶(八)选择结构(分支结构)--if、else、switch
  • 基于Springboot vue应急物资供应管理系统设计与实现
  • 区块链+Web3学习笔记
  • Redis: 集群高可用之节点与插槽管理
  • HUAWEI New4.9G 与 2.6G 无法正常切换问题处理案例
  • Qt C++设计模式->责任链模式
  • paypal支付v2.0(php)支付代码
  • 基于Python的自然语言处理系列(23):DrQA
  • 誉天Linux云计算课程学什么?为什么保障就业?
  • 无人机控制和飞行、路径规划技术分析
  • 【C++】模拟实现红黑树
  • 离线安装docker
  • MySQL高阶2066-账户余额
  • 《RabbitMQ篇》Centos7安装RabbitMQ
  • 昇思学习打卡营第31天|深度解密 CycleGAN 图像风格迁移:从草图到线稿的无缝转化
  • 跟我学C++中级篇——空值的定义
  • (三)Mysql 数据库系统全解析
  • SAP HCM 0001信息类型一个月内有多个成本中心
  • 字节输入流