资讯中心

华为OD机试真题 新系统 2026-07-19 PythonJS 实现【酒店服务记录分析】

📅 2026/7/24 17:15:29
华为OD机试真题 新系统 2026-07-19 PythonJS 实现【酒店服务记录分析】
目录题目思路Code题目题目内容你是某连锁酒店的数据分析师。酒店每天都会用一串编码记录各分店收到的服务请求类型。编码由小写字母 a 到 z 组成每个字母代表一种特定类型的服务请求。为了优化资源分配总部需要找出当天内重复出现的服务类型。重复服务类型需要按照它们首次出现的时间顺序生成报告。给定服务记录字符串 record请找出所有出现超过一次的服务类型。如果没有服务类型重复出现返回空列表。输入描述输入为一个字符串 record仅包含小写字母 a 到 z。输出描述输出一个列表包含所有出现超过一次的服务类型编号。结果按照服务类型首次出现的顺序排列。若无重复类型输出空列表。输出格式为 JSON 风格列表元素使用英文双引号包裹多个元素之间使用英文逗号分隔逗号后不加空格。样例 1输入programming输出[r,g,m]说明r、g、m 都出现超过一次按首次出现顺序输出。样例 2输入hello输出[l]说明只有 l 重复出现。样例 3输入abcde输出[]说明所有服务类型都只出现一次。思路整体思路先统计每个字符的总次数再按原字符串顺序收集重复字符。第一步遍历 record统计 26 个小写字母的出现次数。第二步再次从左到右扫描 record判断当前字符总次数是否大于 1。第三步如果当前字符重复且尚未加入结果则加入答案并标记已加入。第四步按题目指定的 JSON 风格列表格式输出。边界处理没有重复字符时答案列表为空输出 []。复杂度分析字符串扫描两次时间复杂度为 O(n)字符集固定空间复杂度为 O(1)。Codeimport sys record sys.stdin.read().strip() # 只有小写字母固定 26 长度数组比哈希表更直接。 freq [0] * 26 for ch in record: # 先统计总次数后续才能判断是否重复。 freq[ord(ch) - 97] 1 added [False] * 26 ans [] # 第二次扫描保留原字符串顺序第一次遇到重复类型就输出。 for ch in record: idx ord(ch) - 97 # 第一次遇到重复服务类型时加入顺序自然是首次出现顺序。 if freq[idx] 1 and not added[idx]: ans.append(ch) added[idx] True # 输出要求是 JSON 风格列表元素之间没有空格。 # 手动拼接以满足逗号后不加空格的输出要求。 print([ ,.join(f{ch} for ch in ans) ])JSconst fs require(fs); const record fs.readFileSync(0, utf8).trim(); // 服务类型只有 26 个小写字母用数组计数即可。 const freq Array(26).fill(0); for (const ch of record) { // 先统计每种服务类型出现次数。 freq[ch.charCodeAt(0) - 97]; } // added 保证每种重复服务类型只输出一次。 const added Array(26).fill(false); const ans []; for (const ch of record) { const idx ch.charCodeAt(0) - 97; // 第一次遇到重复类型时加入答案。 if (freq[idx] 1 !added[idx]) { ans.push(ch); added[idx] true; } } // 输出 JSON 风格列表元素间不带空格。 // 手动生成 JSON 风格列表避免默认数组输出带空格或单引号。 console.log([${ans.map(ch ${ch}).join(,)}]);【华为od机试真题PythonJSJavaGo合集】【超值优惠】Py/JS/Java/Go合集【华为od机试真题Python】Python真题题库【华为od机试真题JavaScript】JavaScript真题题库【华为od机试真题JavaGo】JavaGo真题题库【华为od机试真题C】C真题题库【华为od机试真题C语言】C语言真题题库【华为od面试手撕代码题库】面试手撕代码题库【华为od机试面试交流群】【文章底部有二维码链接可扫码加交流群】华为OD机试:二本院校有机会吗? 有机会,但不大,大神除外!机考分数越高越好,所以需要提前刷题。机考通过后,如果没有收到面试邀请,也不要着急,非目标院校面试邀请发的时间比较晚。非目标院校今年有点难,机试至少要考到350分,所以需要疯狂刷题,华为OD机考是有题库的,最好在考前完所有题库题目。华为OD机试:跨专业可以参加华为OD可以,但是如果你的本科院校比较差,上岸概率不大。华为OD机试:华为OD简历被锁定机试通过,性格测试也通过,但是没人联系面试,发现简历被锁定。此时需要主动去联系HR。让他帮助你查询原因。