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

news2024/12/27 15:36:02

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

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

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

    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.coloradmin.cn/o/2180912.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

windows配置C++编译环境和VScode C++配置(保姆级教程)

1.安装MinGW-w64 MinGW-w64是一个开源的编译器套件,适用于Windows平台,支持32位和64位应用程序的开发。它包含了GCC编译器、GDB调试器以及其他必要的工具,是C++开发者在Windows环境下进行开发的重要工具。 我找到了一个下载比较快的链接:https://gitcode.com/open-source-…

表格控件QTableWidget

下面说一下表格的常用方法 行列数目、行表头、列表头 行表头&#xff1a;就是表格控件的第一行&#xff0c;用于设置每一列的标题 列表头&#xff1a;就是表格控件的第一列&#xff0c;用于设置每一行的标题&#xff0c;通常缺省则默认显示行号 设置和获取行列的数目 在添…

【CKA】一、基于角色的访问控制-RBAC

1、基于角色的访问控制-RBAC 1. 考题内容&#xff1a; 2. 答题思路&#xff1a; 这道题就三条命令&#xff0c;建议直接背熟就行。 也可以查看帮助 kubectl create clusterrole -h kubectl create serviceaccount -h kubectl create rolebinding -h 注意&#xff1a; 1、资…

Prisma 基本使用

以下内容官方文档都有&#xff0c;特此记录便于快速查阅文档。 Prisma CLI 作为开发依赖项安装到项目中 npm install prisma --save-devPrisma 配合 ts 很强大&#xff0c;所有我们可以结合 ts 一起使用&#xff1a; npm install typescript ts-node types/node --save-dev n…

对于“言而有信”之己见

大凡古文爱好者&#xff0c;都知晓《论语》中的“仁、义、礼、智、信”这五大做人的常理。 网络图片 儒家对于“言而有信”的认识十分理性&#xff0c;尤其是其中的“信”字&#xff0c;对于当今社会成堆“老赖”&#xff0c;简直就是直接打在他们脸上的大巴掌。​ 古人对于“…

强化学习-python案例

强化学习是一种机器学习方法&#xff0c;旨在通过与环境的交互来学习最优策略。它的核心概念是智能体&#xff08;agent&#xff09;在环境中采取动作&#xff0c;从而获得奖励或惩罚。智能体的目标是最大化长期奖励&#xff0c;通过试错的方式不断改进其决策策略。 在强化学习…

传统操作系统和分布式操作系统的区别

分布式操作系统和传统操作系统之间的区别&#xff0c;根植于它们各自的设计哲学和目标。要理解这些差异&#xff0c;需要从操作系统的基本定义、结构、功能以及它们在不同计算环境中的表现进行分析。每种系统都试图解决特定的计算挑战&#xff0c;因此在不同的使用场景下具有各…

互斥量mutex、锁、条件变量和信号量相关原语(函数)----很全

线程相关知识可以看这里: 线程控制原语(函数)的介绍-CSDN博客 进程组、会话、守护进程和线程的概念-CSDN博客 1.同步概念 所谓同步&#xff0c;即同时起步&#xff0c;协调一致。不同的对象&#xff0c;对“同步”的理解方式略有不同。如&#xff0c;设备同步&#xff0c;是…

前端——js补充

一、数学对象 1.随机数 // 0-1 console.log(Math.random()); // 0-9 console.log(Math.random() * 9); // 6-13 console.log(Math.random() * (13 - 6) 6); //n-m Math.random() * (m - n) n 2.取整 // 向下取整 console.log(Math.floor(1.9));//1 // 向上取整 console.log(…

解决端口被占用

当你被你的编译器提醒&#xff0c; 当前端口被占用&#xff0c; 但明明你的服务什么的都没有启用&#xff0c;这时有三种解决办法&#xff1a; 1 。 重启 。 重启解决80%的问题 2 。 修改你的端口号 。 3 。 去windows命令行中查看&#xff0c;端口占用情况 第一步 &#xf…

OpenStack Yoga版安装笔记(十五)Horizon安装

1、官方文档 OpenStack Installation Guidehttps://docs.openstack.org/install-guide/ 本次安装是在Ubuntu 22.04上进行&#xff0c;基本按照OpenStack Installation Guide顺序执行&#xff0c;主要内容包括&#xff1a; 环境安装 &#xff08;已完成&#xff09;OpenStack…

[卸载] 软件彻底卸载工具的下载及详细安装使用过程(附有下载文件)

一般软件安装的有问题&#xff0c;或者想重新安装其他版本就需要将原来的版本删除干净&#xff0c;但常常删不干净&#xff0c;本文分享一个软件彻底卸载工具&#xff0c;完成彻底卸载软件的工作 下载链接在文末 下载压缩包后解压 &#xff01;&#xff01;安装路径不要有中文…

激光切割机适用材质有哪些

激光切割机是一种利用激光束对各种材料进行高精度、高速度切割的机器设备。其适用材质广泛&#xff0c;包括但不限于以下两大类&#xff1a; 一、金属材料 不锈钢&#xff1a;激光切割机较容易切割不锈钢薄板&#xff0c;使用高功率YAG激光切割系统&#xff0c;切割不锈钢板的…

AMD Instinct™ MI200 GPU内存空间概述

AMD Instinct™ MI200 GPU memory space overview — ROCm Blogs 注意: 本博客之前是 AMD实验室笔记博客系列的一部分。 HIP API 支持在加速系统上为主机和设备内存提供多种分配方式。在本文中&#xff0c;我们将&#xff1a; 1. 介绍一组常用的内存空间 2. 识别每种内存空间的…

Kubernetes强制删除terminating状态的namespace

Kubernetes中的Namespace处于Terminating状态并且常规删除不起作用。 1.Namespace长时间处于Terminating状态往往是因为某些finalizers阻止了它的删除。 kubectl get namespace <namespace-name> -o json > namespace.json 2.编辑生成的 namespace.json文件&#xff…

今日指数项目A股大盘数据采集

1、A股大盘数据采集 1.1 A股大盘数据采集准备 1.1.1 配置ID生成器bean A股大盘数据采集入库时&#xff0c;主键ID保证唯一&#xff0c;所以在stock_job工程配置ID生成器&#xff1a; Configuration public class CommonConfig {/*** 配置基于雪花算法生成全局唯一id* 参与…

打点 - 泛微 E-Cology WorkflowServiceXml

请求路径 /services%20/WorkflowServiceXml显示如下&#xff0c;漏洞可能存在 利用&#xff1a; 根据提示在 CMD 处输入 Memshell 注入内存马&#xff0c;并点击执行&#xff0c;成功注入 冰蝎配置&#xff0c;输入内存马地址 成功连接 命令执行

2024/9/30 英语每日一段

The British Academy has created three high-profile awards to sit alongside the trophies it hands out to adult television shows--going some way, it is hoped, to replace Bafta’s abandoned children’s TV awards event. “Children’s programme-making has been …

【RockyLinux 9.4】安装 NVIDIA 驱动,改变分辨率,避坑版本。(CentOS 系列也能用)

总览 1.下载和解决依赖问题 2.修改相关参数 3.安装过程 一、下载和解决依赖问题 1.下载 去这里看看&#xff0c;填写相关的显卡参数&#xff0c;选择 linux 版本&#xff0c;然后开始下载。 https://www.nvidia.cn/drivers/lookup/ 进入这个选择界面&#xff1a; 开始下载&…

04-指向指针的指针

int main(int argc, const char* argv[]) {int x 5;int* p &x;*p 6;int** q &p;int*** r &q;printf("%d\n", *p);//指向p中的值 6printf("%d\n", *q);// 指向指针p的地址 printf("%d\n", *(*q));//指向p中地址中的值 6print…