华为OD机试 JavaScript 实现【密码验证合格程序】【牛客练习题 HJ20】,附详细解题思路

news2024/10/7 20:34:55

在这里插入图片描述

一、题目描述

密码要求:

  1. 长度超过8位
  2. 包括大小写字母.数字.其它符号,以上四种至少三种
  3. 不能有长度大于2的包含公共元素的子串重复 (注:其他符号不含空格或换行)

二、输入描述

一组字符串。

三、输出描述

如果符合要求输出:OK,否则输出NG

四、解题思路

  1. 读取输入的字符串;
  2. 检查字符串长度是否小于等于8,如果是,则输出 “NG” 并进入下一次循环;
  3. 调用函数 getMatch 判断字符串是否符合正则要求,如果符合,则输出 “NG” 并进入下一次循环;
  4. 调用函数 getString 检查字符串是否有长度大于2的重复子串,如果有,则输出 “NG” 并进入下一次循环;
  5. 如果以上条件都不满足,则输出 “OK”;
  6. 循环继续读取下一个字符串,直到没有输入。

五、JavaScript算法源码

function checkPassword(password) {
    if (password.length <= 8) {
        return "NG";
    }

    const regex = [/[^A-Za-z0-9]/, /[A-Z]/, /[a-z]/, /[0-9]/];
    let count = 0;

    for (let i = 0; i < regex.length; i++) {
        if (regex[i].test(password)) {
            count++;
        }
    }

    if (count < 3) {
        return "NG";
    }

    for (let i = 0; i < password.length - 2; i++) {
        const substr = password.substr(i, 3);
        if (password.indexOf(substr, i + 1) !== -1) {
            return "NG";
        }
    }

    return "OK";
}

六、效果展示

在这里插入图片描述


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

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

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

在这里插入图片描述

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

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

相关文章

A stochastic parrot in every pot 每口锅里都会有一只随机鹦鹉? | 经济学人社论双语精翻

本期双语文章来自《经济学人》2023年5月13日周报社论&#xff1a;《人工智能经济学》&#xff08;The economics of AI&#xff09; A stochastic parrot in every pot? 每口锅里都会有一只随机鹦鹉&#xff1f; What does a leaked Google memo reveal about the future of A…

软文营销,如何写出优质的新闻稿

传媒如春雨&#xff0c;润物细无声&#xff0c;大家好&#xff0c;我是51媒体网胡老师。 一&#xff0c;什么是软文营销&#xff1f; 软文营销是一种通过撰写和发布具有信息性、有趣性和可读性的文章&#xff0c;来推广产品、服务或品牌的营销策略。软文是指以一种较为隐晦、…

【默认端口】市面上各种中间件、软件、服务的默认端口汇总

常用软件&#xff0c;中间件&#xff0c;服务的默认端口汇总 常用软件默认端口汇总 市面上各种中间件、软件和服务的默认端口众多&#xff0c;下面列举一些常见的默认端口&#xff1a; SSH&#xff08;Secure Shell&#xff09;&#xff1a;22 Telnet&#xff1a;23 FTP…

AI在零售行业的应用

原创 | 文 BFT机器人 如今&#xff0c;零售商已经体验到使用人工智能 (AI) 的诸多好处&#xff0c;随着行业不断创新&#xff0c;人工智能的重要性只会越来越大。随着人工智能越来越被广泛接受&#xff0c;它的实施也越来越广泛。 查看这些用例&#xff0c;了解零售业中的 AI如…

一文掌握linux基本操作命令

欢迎关注博主 Mindtechnist 或加入【Linux C/C/Python社区】一起学习和分享Linux、C、C、Python、Matlab&#xff0c;机器人运动控制、多机器人协作&#xff0c;智能优化算法&#xff0c;滤波估计、多传感器信息融合&#xff0c;机器学习&#xff0c;人工智能等相关领域的知识和…

Selenium元素定位的八种方法(建议收藏)

自动化一般需要四步操作&#xff1a;获取元素&#xff0c;操作元素&#xff0c;获取返回结果&#xff0c;断言&#xff08;返回结果与期望结果是否一致&#xff09;&#xff0c;最后自动出测试报告。Selenium提供8种元素定位的方法&#xff1a;id,name,class name,link text,xp…

三维点云机器学习检测定位圆心,三维圆检测,拟合轴线(基于open3d和python)

0.任务描述 背景&#xff1a;从端面拍摄大型圆筒工件&#xff0c;该工件周向尺寸大于相机视野&#xff0c;只能拍摄到1/3左右的圆周&#xff0c;且无法保证相机与端面垂直拍摄 任务&#xff1a;需要拟合圆周与轴线位置 难点&#xff1a;三维圆拟合与检测都很复杂&#xff0c…

fscan安装配置(windows、linux系统)

fscan安装配置(windows、linux系统) 1、简介 fscan一款内网综合扫描工具&#xff0c;方便一键自动化、全方位漏扫扫描。 它支持主机存活探测、端口扫描、常见服务的爆破、ms17010、redis批量写公钥、计划任务反弹shell、读取win网卡信息、web指纹识别、web漏洞扫描、netbios探…

程序员面试必备的 Java 八股文,适合所有的 Java 求职者

说明 本文分享 Java 后端真实高频面试题&#xff0c;有详细答案&#xff0c;保你稳过面试。题目包括&#xff1a;Java 基础、多线程、JVM、数据库、Redis、Shiro、Spring、SpringBoot、MyBatis、MQ、ELK、SpringCloud、设计模式等。 包含从简单到困难、从高频到低频的题目&…

EF Core中Partition by实现

一、SQL语句实现 Partition by是SQL Server数据库中提供的分区函数,跟Group by不同的是,Partition by能够按照分区返回所有记录,而Group by只能返回一条记录。 举个例子,有如下的数据库,需要找出每个唯一编号最新状态的数据。 显然,CW048201和CW048202它们的最新状态都…

靠着这套Github标星55K的Java面试笔记,成功拿到了2个大厂offer

作为一名优秀的程序员&#xff0c;技术面试是不可避免的一个环节&#xff0c;一般技术面试官都会通过自己的方式去考察程序员的技术功底与基础理论知识。 如果你参加过一些大厂面试&#xff0c;肯定会遇到一些这样的问题&#xff1a; 1、看你项目都用的框架&#xff0c;熟悉S…

Linux 环境下Docker将镜像打包导出到本地,上传至内网服务器(八)

文章目录 背景1. docker容器打包成镜像和压缩&#xff08;1&#xff09;首先查看镜像所在的容器&#xff0c;获取到容器id&#xff08;2&#xff09;将容器保存成镜像&#xff08;3&#xff09;将镜像打包&#xff08;4&#xff09;将镜像包压缩 2. docker镜像压缩包解压及镜像…

2023最新发布:Java 面试突击大全 带你摸熟 20+ 互联网公司面试考点

对于程序员来说&#xff0c;春招的失利意味着在金九银十要打一场“硬战”&#xff0c;可又有多少人做好了面试的准备呢&#xff1f;对于一线互联网公司的面试&#xff0c;你又了解多少呢&#xff1f; 今天&#xff0c;一本《Java 面试考点大全》全网首发&#xff0c;带你摸熟 …

阿里8年,肝到P7只剩这份笔记了,帮朋友拿了7个Offer....

时光飞逝&#xff0c;转眼间在阿里工作了8年&#xff0c;工作压力大&#xff0c;节奏快&#xff0c;但是从技术上确实得到了成长&#xff0c;尤其是当你维护与大促相关的系统的时候&#xff0c;熬到P7也费了不少心思 我的职业生涯开始和大多数测试人一样&#xff0c;刚开始接触…

大话设计模式——享元

享元&#xff08;Flyweight&#xff09; Intent 利用共享的方式来支持大量细粒度的对象&#xff0c;这些对象一部分内部状态是相同的。 Class Diagram Flyweight&#xff1a;享元对象IntrinsicState&#xff1a;内部状态&#xff0c;享元对象共享内部状态ExtrinsicState&am…

【架构设计】单点登录实现技术方案

序言 你只管努力&#xff0c;其他交给时间&#xff0c;时间会证明一切。 文章标记颜色说明&#xff1a; 黄色&#xff1a;重要标题红色&#xff1a;用来标记结论绿色&#xff1a;用来标记一级论点蓝色&#xff1a;用来标记二级论点 1 基本介绍 1.1 什么是单点登录 单点登录&am…

命令模式(十七)

相信自己&#xff0c;请一定要相信自己 上一章简单介绍了模板模式(十六), 如果没有看过, 请观看上一章 一. 命令模式 定义&#xff1a;将一个请求封装为一个对象&#xff0c;使发出请求的责任和执行请求的责任分割开。这样两者之间通过命令对象进行沟通&#xff0c; 这样方便…

智能锁语音芯片方案,NV170D-SOP8九芯电子自主研发

随着智能家居市场的不断壮大&#xff0c;智能门锁已经成为越来越多家庭不可或缺的一部分。传统的机械锁门的开锁方式已经无法满足人们对安全和便捷性的需求。而电子锁门随着技术的不断突破&#xff0c;拥有了更为丰富的功能和更高的安全性。 但是&#xff0c;目前市场上有那么…

1.4.2:DHTMLX JS 看板 DHTMLX JS Kanban Board Crack

用于任务管理应用 程序的 敏捷 JavaScript 看板&#xff0c;使用 DHTMLX JavaScript 看板库开发成熟的 Web 应用程序&#xff0c;以获得对工作量的完全控制并有效地管理任务。 开始使用 DHTMLX JS 看板 DHTMLX 看板允许创建任意数量的任务并通过右侧面板编辑它们。用户可以编…

uCOSii的任务延时和软件定时器

uCOSii的任务延时和软件定时器 1、心跳节拍 操作系统的心跳节拍称为一个Tick。uCOSii中有一个专用的心跳节拍函数&#xff1a;OSTimeTick()&#xff0c;每调用一次&#xff0c;系统时间计数器OSTime计数器就会加1次。为了能调用这个心跳节拍函数&#xff0c;我们使用CPU的滴答…