华为OD机试真题B卷 JavaScript 实现【删除字符串中出现次数最少的字符】,附详细解题思路

news2024/10/5 21:53:09

在这里插入图片描述

一、题目描述

删除字符串中出现次数最少的字符,如果多个字符出现次数一样则都删除。

二、输入描述

一个字符串。

三、输出描述

删除字符串中出现次数最少的字符,如果多个字符出现次数一样则都删除,如果都被删除 则换为empty。

四、解题思路

  1. 读取输入的字符串;
  2. 将字符串转换为字符数组;
  3. 使用 HashMap 统计每个字符出现的次数,字符作为键,出现次数作为值;
  4. 找出出现次数最少的字符,即最小次数 minTime,使用 Stream 的 min() 方法取得最小值;
  5. 遍历 HashMap,将出现次数等于 minTime 的字符替换为空字符串;
  6. 如果替换后的字符串长度为 0,则将其置为 “empty”;
  7. 输出最终结果。

五、Java算法源码

function deleteMinChar(str) {
    const map = new Map();

    // 统计每个字符出现的频率
    for (let i = 0; i < str.length; i++) {
        const char = str[i];
        if (map.has(char)) {
            map.set(char, map.get(char) + 1);
        } else {
            map.set(char, 1);
        }
    }

    // 找出最小频率
    const minFrequency = Math.min(...map.values());

    // 移除频率最小的字符
    const result = str
        .split("")
        .filter((char) => map.get(char) !== minFrequency)
        .join("");

    // 如果所有字符都被移除,则返回"empty";否则返回结果字符串
    return result.length === 0 ? "empty" : result;
}

六、效果展示

1、输入

dftww

2、输出

ww

3、思路

  1. 先找到出现最少的次数;
  2. 然后把出现最小次数的字符从字符串剔除;
  3. 暂无其他更高效的思路;

在这里插入图片描述


🏆下一篇:华为OD机试真题 JavaScript 实现【相对开音节】【2022Q4 100分】,附详细解题思路

🏆本文收录于,华为OD机试(JavaScript)真题(A卷+B卷)

每一题都有详细的答题思路、详细的代码注释、样例测试,订阅后,专栏内的文章都可看,可加入华为OD刷题群(私信即可),发现新题目,随时更新,全天CSDN在线答疑。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/660603.html

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

相关文章

机器视觉初步5-1:图像平滑专题

在计算机视觉领域&#xff0c;图像平滑处理是一个重要的任务&#xff0c;用于降低噪声&#xff0c;提高图像质量。常见的图像平滑算法有均值滤波、中值滤波、高斯滤波等。本文将介绍这些算法的原理&#xff0c;并分别给出使用Python与Halcon实现的代码。&#xff08;当前版本&a…

libface 人脸检测

于老师的项目地址GitHub - ShiqiYu/libfacedetection: An open source library for face detection in images. The face detection speed can reach 1000FPS. 关于如何使用&#xff0c;于老师写得很清楚&#xff1a; 测试代码 CMakeList.txt 和 三个face开头的cpp文件都是于老…

有趣的数学 数学建模入门一 从几个简单的示例入手

一、“变量”的概念 一个代数表达式&#xff08;通常只有一个字母&#xff1a;x&#xff0c;y&#xff0c;z…&#xff0c;如果它取代了一个未知值&#xff08;物理、经济、时间等&#xff09;&#xff0c;则称为“变量”。 变量的作用是占据一个值所在的位置&#xff0c;如果该…

设计模式之工厂方法模式笔记

设计模式之工厂方法模式笔记 说明Factory Method(工厂方法)目录UML抽象工厂示例类图咖啡抽象类美式咖啡类拿铁咖啡类 咖啡工厂接口美式咖啡工厂类拿铁咖啡工厂类 咖啡店类测试类 说明 记录下学习设计模式-工厂方法模式的写法。 Factory Method(工厂方法) 意图:定义一个用于创…

深度学习图像分类、目标检测、图像分割源码小项目

​demo仓库和视频演示&#xff1a; 银色子弹zg的个人空间-银色子弹zg个人主页-哔哩哔哩视频 卷积网路CNN分类的模型一般使用包括alexnet、DenseNet、DLA、GoogleNet、Mobilenet、ResNet、ResNeXt、ShuffleNet、VGG、EfficientNet和Swin transformer等10多种模型 目标检测包括…

Sourcetree 打开闪退怎么处理

问题描述&#xff1a;Sourcetree打开闪退&#xff0c;已管理员身份运行仍然闪退 解决方法; 在Sourcetree图标上右键&#xff0c;然后打开文件所在位置&#xff1a; 找到目录 xxxx\AppData\Local\Atlassian 删除箭头所指向文件即可。

2023年怎么移除微博粉丝 微博怎么批量移除粉丝方法

2023最新微博批量粉丝移除_手机微博粉丝怎么批量删除 使用微博粉丝移除工具&#xff1a;可以帮助用户快速批量移除粉丝。在微博管理工具中&#xff0c;用户可以根据自己的需要设置移除粉丝的数量&#xff0c;可以一键批量移除多个粉丝。此外&#xff0c;管理工具还提供了粉丝管…

Linux下使用Samba做域控

AI画妹子的工作先暂告一段落。毕竟戗行也是要有门槛的。 企业中使用Windows Server使用活动目录集中管理PC、服务器是很成熟的方案。突然想到&#xff0c;如果有一天出于某种原因不再使用微软方案了&#xff0c;AD该如何替代&#xff1f;问了一下chatGPT&#xff0c;它说&…

[Qt 教程之Widgets模块] —— QComboBox 组合框

Qt系列教程总目录 文章目录 一、创建QComboBox二、数据结构三、成员函数1. 添加选项2. 插入选项3. 删除选项4. 选项属性5. 当前选择的item6. 用户是否可编辑组合框7. 设置显示item的个数8. 组合框的item个数9. 添加重复的item10. 是否绘制边框11. 查找item12. 插入策略13. 大小…

NodeJS LocalDomainName⑩④

文章目录 ✨文章有误请指正&#xff0c;如果觉得对你有用&#xff0c;请点三连一波&#xff0c;蟹蟹支持&#x1f618;前言 L o c a l D o m a i n N a m e LocalDomainName LocalDomainName 本地域名 O p e r a t i o n P r o c e d u r e OperationProcedure OperationProced…

【MySQL】一文带你了解过滤数据

&#x1f3ac; 博客主页&#xff1a;博主链接 &#x1f3a5; 本文由 M malloc 原创&#xff0c;首发于 CSDN&#x1f649; &#x1f384; 学习专栏推荐&#xff1a;LeetCode刷题集&#xff01; &#x1f3c5; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指…

LAMP架构搭建

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 一、Apache服务1.apache概述2.apache的特点3.apache的软件版本4.编译安装优点5.安装步骤 二、LAMP简介与概述1.LAMP平台概述2.构建LAMP平台顺序3.各组件的主要作用 …

KafKa 3.x(一、入门)

前置&#xff1a;熟悉javase&#xff0c;熟悉linux&#xff0c;熟悉idea&#xff0c;熟悉hadoop 1. KafKa 1.1 KafKa定义 前端埋点记录用户&#xff08;浏览&#xff0c;点赞&#xff0c;收藏&#xff0c;评论&#xff09;到日志服务器&#xff0c;然后通过Flume&#xff08…

k8s Service服务详解

1. Service 的概念&#xff1a; k8s中Service定义了这样一种抽象&#xff1a;一个pod的逻辑分组&#xff0c;一种可以访问他们的策略—通常称为微服务。这一组pod能够被Service访问到&#xff0c;通常是通过Label Selector Service能够提供负载均衡的能力&#xff0c;但是在使…

第二章 逻辑代数基础--数电(期末复习笔记)

第二章 逻辑代数基础 2.1 概述 逻辑&#xff1a;事物间的因果关系。 逻辑运算&#xff1a;逻辑状态按照指定的某种因果关系进行推理的过程。 逻辑变量&#xff1a;用字母表示&#xff0c;取值只有0和1。此时&#xff0c;0和1不再表示数量的大小&#xff0c;只代表两种不同的状…

人工智能期末复习(简答)

第1章 人工智能概述 1.什么是人工智能&#xff1f; 人工智能&#xff08;Artificial Intelligence, AI&#xff09;,又称机器智能&#xff08;MI&#xff0c;Machine Intelligence&#xff09;&#xff0c; 主要研究用人工的方法和技术开发智能机器或智能系统&#xff0c;以模…

交换机配置DHCP服务(华为交换机)

#三层交换机互联互通 配置 #进入系统视图 <Huawei>system-view #关闭系统提示信息 [Huawei]undo info-center enable #启动DHCP功能 [Huawei]dhcp enable #创建vlan 10 并配置 vlanif 地址 [Huawei]vlan 10 [Huawei-vlan10]int vlanif 10 [Huawei-Vlanif10]ip addr…

软考A计划-网络工程师-专业英语

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列 &#x1f449;关于作者 专注于Android/Unity和各种游戏开发技巧&#xff…

初识轻量级分布式任务调度平台 xxl-job

文章目录 前言xxl-job的目录结构项目依赖 (父 pom.xml)xxl-job-admin 启动xxl-job-executor-sample (项目使用示例)xxl-job-executor-sample-frameless : 不使用框架的接入方式案例xxl-job-executor-sample-springboot : springboot接入方案案例 xxl-job执行器器启动流程分析调…

python高效使用方法03_pandas中的rolling.mean滚动求均值效率究竟如何?

先上图来说明pandas.rolling(n).mean()滚动求均值的方法效率其实并不是最高的&#xff0c;我自己尝试使用cython把滚动求均值的方法重新编译了一下&#xff0c;发现效率总体上是pandas的三倍以上。 总结&#xff1a;pandas比较合适用于普通的研究分析工作&#xff0c;如果用到追…