新闻详情

新闻详情

首页 / 资讯中心 / 详情

小红书笔试真题 9.13 - 避重口令(C++/Py/Java /Js/Go)

发布时间:2026/10/1 21:01:08来源:尧图网络
小红书笔试真题 9.13 - 避重口令(C++/Py/Java /Js/Go)
避重口令小红书 9月13号 笔试真题 第一题题目描述短视频审核后台要把已过审成片的标题按发布时间依次拼接得到小写字符串SSS。SSS的每一个子序列含SSS本身与空串都被视为已经占用的口令不能再给新专题使用。求最短的、不是SSS子序列的小写口令长度。子序列从原串中删除任意个可以为零个字符后剩余字符保持相对顺序所形成的串。输入描述一行仅含小写字母的字符串SSS1≤∣S∣≤1051\le |S|\le 10^51≤∣S∣≤105。输出描述一行一个正整数即最短未占用口令的长度。样例1输入zyxwvutsrqponmlkjihgfedcbazyxwvutsrqponmlkjihgfedcba输出3说明SSS由两段倒序的262626个小写字母拼接而成。任意单个字母、任意长度为222的小写串都是SSS的子序列前半段取第一个字符、后半段取第二个字符即可。SSS中字母aaa只出现两次故aaa不是子序列最短长度为333。题解和思路思路实现思路动态规划定义dp数组其中dp[i]表示从 S[i...n-1] 开始最短的、不是 S[i...n-1] 子序列的字符串长度对于当前位置i如果某个字符c在s[i...]根本不存在那么单个字符c就已经不是子序列所以dp[i] 1否则选择一个字符c第一次匹配到它的位置是j那么后面还需要找一个不是S[j1...]子序列的字符串。因此dp[i] min(d[i], 1 dp[j] 1)时间复杂度为ONC#includebits/stdc.husingnamespacestd;intmain(){ios::sync_with_stdio(false);cin.tie(nullptr);string s;cins;intns.size();// i之后最近c的位置vectorvectorintnxt(n1,vectorint(26));for(intc0;c26;c){nxt[n][c]n;}for(intin-1;i0;i--){nxt[i]nxt[i1];nxt[i][s[i]-a]i;}constintINF1e9;// 从 S[i...n-1] 开始最短的、不是 S[i...n-1] 子序列的字符串长度vectorintdp(n1,INF);// 空串之后不存在任何字符可以匹配dp[n]1;for(intin-1;i0;i--){for(intc0;c26;c){intjnxt[i][c];if(jn){//字符 c 在后面不存在dp[i]1;}else{dp[i]min(dp[i],1dp[j1]);}}}coutdp[0]endl;return0;}Javaimportjava.util.*;publicclassMain{publicstaticvoidmain(String[]args){ScannerscnewScanner(System.in);Stringssc.next();intns.length();// i之后最近c的位置int[][]nxtnewint[n1][26];for(intc0;c26;c){nxt[n][c]n;}for(intin-1;i0;i--){System.arraycopy(nxt[i1],0,nxt[i],0,26);nxt[i][s.charAt(i)-a]i;}finalintINF1000000000;// 从 S[i...n-1] 开始最短的、不是 S[i...n-1] 子序列的字符串长度int[]dpnewint[n1];Arrays.fill(dp,INF);// 空串之后不存在任何字符可以匹配dp[n]1;for(intin-1;i0;i--){for(intc0;c26;c){intjnxt[i][c];if(jn){// 字符 c 在后面不存在dp[i]1;}else{dp[i]Math.min(dp[i],1dp[j1]);}}}System.out.println(dp[0]);}}pythonimportsys ssys.stdin.readline().strip()nlen(s)# i之后最近c的位置nxt[[n]*26for_inrange(n1)]foriinrange(n-1,-1,-1):nxt[i]nxt[i1].copy()nxt[i][ord(s[i])-ord(a)]i INF10**9# 从 S[i...n-1] 开始最短的、不是 S[i...n-1] 子序列的字符串长度dp[INF]*(n1)# 空串之后不存在任何字符可以匹配dp[n]1foriinrange(n-1,-1,-1):forcinrange(26):jnxt[i][c]ifjn:# 字符 c 在后面不存在dp[i]1else:dp[i]min(dp[i],1dp[j1])print(dp[0])Javascriptconstreadlinerequire(readline);constrlreadline.createInterface({input:process.stdin,output:process.stdout});rl.on(line,(s){ss.trim();constns.length;// i之后最近c的位置constnxtArray.from({length:n1},()newArray(26).fill(n));for(letc0;c26;c){nxt[n][c]n;}for(letin-1;i0;i--){nxt[i][...nxt[i1]];nxt[i][s.charCodeAt(i)-97]i;}constINF1e9;// 从 S[i...n-1] 开始最短的、不是 S[i...n-1] 子序列的字符串长度constdpnewArray(n1).fill(INF);// 空串之后不存在任何字符可以匹配dp[n]1;for(letin-1;i0;i--){for(letc0;c26;c){constjnxt[i][c];if(jn){// 字符 c 在后面不存在dp[i]1;}else{dp[i]Math.min(dp[i],1dp[j1]);}}}console.log(dp[0]);rl.close();});Gopackagemainimport(bufiofmtos)funcmain(){in:bufio.NewReader(os.Stdin)out:bufio.NewWriter(os.Stdout)deferout.Flush()varsstringfmt.Fscan(in,s)n:len(s)// i之后最近c的位置nxt:make([][]int,n1)fori:0;in;i{nxt[i]make([]int,26)forc:0;c26;c{nxt[i][c]n}}fori:n-1;i0;i--{copy(nxt[i],nxt[i1])nxt[i][s[i]-a]i}constINFint(1e9)// 从 S[i...n-1] 开始最短的、不是 S[i...n-1] 子序列的字符串长度dp:make([]int,n1)fori:0;in;i{dp[i]INF}// 空串之后不存在任何字符可以匹配dp[n]1fori:n-1;i0;i--{forc:0;c26;c{j:nxt[i][c]ifjn{// 字符 c 在后面不存在dp[i]1}else{ifdp[i]1dp[j1]{dp[i]1dp[j1]}}}}fmt.Fprintln(out,dp[0])}
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

Chrome历史版本官方下载清单(20-83版)含SHA256校验 2026/10/1 21:56:26

Chrome历史版本官方下载清单(20-83版)含SHA256校验

1. 项目概述:为什么需要一份“真正可用”的Chrome历史版本清单 你有没有遇到过这样的情况:开发一个老系统兼容性测试页面,结果发现最新版Chrome把某个废弃的API彻底砍掉了,而客户明确要求必须在Chrome 72环境下跑通;或…

阅读更多 →
C++:模板初阶详解 2026/10/1 21:56:26

C++:模板初阶详解

前言:为什么 C 要有模板?我们可以从一个非常简单的 Swap交换函数 开始。如果没有模板,为了交换不同类型的数据,我们可能写:void Swap(int& left, int& right) {int temp left;left right;right temp; }void…

阅读更多 →
python处理PDF文件,每页高清截图 2026/10/1 21:56:26

python处理PDF文件,每页高清截图

目录 1.环境 2.编码 1.环境 python3.8.20 PyMuPDF 1.24.11 # 核心依赖包 pip install PyMuPDF (demo_env) C:\Users\asus>pip list Package Version ---------------------------- ----------- absl-py …

阅读更多 →
科研人必读:《Nature》总结的高水平论文写作技巧(附提示词) 2026/10/1 21:56:19

科研人必读:《Nature》总结的高水平论文写作技巧(附提示词)

各位同仁好,我是七哥。一个在高校里从事人工智能 相关领域研究,钻研用大模型AI实操的学术人。可以和七哥交流学术写作或Gemini、GPT、Claude 等大模型 学术实操相关问题,多多交流,相互成就,共同进步。 “稿件可能有严格定义的结构,但仍有空间讲述一个引人入胜的故事。…

阅读更多 →
Open Policy Agent(OPA)详述 2026/10/1 21:56:06

Open Policy Agent(OPA)详述

一、OPA 核心概述 1.什么是 OPA Open Policy Agent(简称 OPA,读音“oh-pa”)是CNCF 毕业级开源通用策略引擎,核心定位是实现策略即代码(Policy as Code,PaC),统一云原生全栈的策略管…

阅读更多 →
代谢能力决定生命质量:肝胆机能是人体代谢的底层基石 2026/10/1 21:55:59

代谢能力决定生命质量:肝胆机能是人体代谢的底层基石

代谢能力决定生命质量:肝胆机能是人体代谢的底层基石 很多人把代谢差简单归结为“易胖体质”,这是非常浅薄的认知。人体代谢能力,决定的不只是身材体态,更是全身机能运转、身体净化、衰老节奏、日常精力的核心生命质量。而支撑人体…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉