【华为机试刷题笔记】HJ20-密码验证合格程序

密码验证函数实现
文章提供了一个关于密码合法性的检查函数实现,该函数需确保密码长度超过8位,包含大写字母、小写字母、数字和其他符号中的至少三种,并且不能有长度大于2的公共子串重复。文章中给出了测试用例及代码实现。

图片来源系网络,仅供欣赏!

题目描述

密码要求:
1.长度超过8位
2.包括大小写字母.数字.其它符号,以上四种至少三种
3.不能有长度大于2的包含公共元素的子串重复 (注:其他符号不含空格或换行)
数据范围:输入的字符串长度满足 1≤n≤1001 \leq n \leq 1001n100
输入描述:
一组字符串。
输出描述:
如果符合要求输出:OK,否则输出NG

示例1

输入:021Abc9000
	021Abc9Abc1
	021ABC9000
	021$bc9000
输出:OK
	NG
	NG
	OK

题解

下面展示本人题解思路代码。

const rl = require("readline").createInterface({
   
    input: process.stdin })
var iter = rl[Symbol.asyncIterator
### 华为OD方法与资源 华为OD是一种针对求职者编程能力和技术水平的技术测,其目标在于评估候选人在实际工作场景中的问解决能力[^1]。为了有效准备此类考并提升通过率,可以采取以下策略: #### 1. 使用官方或授权的在线OJ平台 获取在线OJ权限是第一步,这允许候选人模拟真实考环境进行训练。该平台支持多种功能,例如按难度级别筛选目、专注于薄弱环节练习以及切换不同编程语言等。 ```python # 示例:简单的Python函数用于计算数组的最大子序列和(常见算法) def max_subarray_sum(nums): current_max = global_max = nums[0] for num in nums[1:]: current_max = max(num, current_max + num) global_max = max(global_max, current_max) return global_max ``` #### 2. 复习基础知识点 重点复习数据结构与算法的基础知识是非常重要的一步。这些基础知识涵盖了诸如链表操作、树遍历、图搜索等方面的内容[^2]。 #### 3. 实践高频考点 根据以往的经验总结,一些常见的算法类型频繁出现在华为OD中,比如动态规划、贪心算法、回溯法等等。熟悉这些问并通过大量实践来提高解速度和准确性至关重要。 #### 4. 参考历年真 了解最新的卷形式对于制定合理的备考计划很有帮助。例如,在2024年的E卷中包含了特定分值区间的目设置,考生可以根据此信息调整自己的学习方向。 --- ### 提供的部分样例目 以下是基于公开资料整理的一些典型目示例: - **100分目** ```cpp // C++实现字符串反转 void reverseString(string& s){ int n = s.length(); for(int i=0;i<n/2;i++) { char temp=s[i]; s[i]=s[n-i-1]; s[n-i-1]=temp; } } ``` - **200分目** 设计一个高效的算法找出给定整数数组中最接近零的那个数及其索引位置。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IceSugarJJ

谢谢你对我的肯定[乖巧]

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值