当前位置: 首页 > news >正文

04 | 笔试算法题:凑最长不重复字符串的数目问题

04 | 笔试算法题:凑最长不重复字符串的数目问题

题目

题目描述
定义字符串的”奇怪度”为其最长非重复子串的数量(按起止位置计数)。给定整数 n 和 k,构造长度为 n、仅由小写字母组成的字符串,使其奇怪度恰好为 k。

非重复子串:每个字符出现次数不超过 1 的子串。

样例
输入5 3
输出abaab

分析

• 这题有个很关键的观察:

  • 如果字符串只用两种字符,比如 a 和 b
  • 那么任意长度 >= 3 的子串一定有重复字符
  • 所以这类串的最长非重复子串长度最多是 2

于是问题就变成了:

  • 只要串里存在至少一个相邻不同的位置,那么最长非重复子串长度就是 2
  • 此时“奇怪度”就等于 相邻不同的二元子串个数
  • 也就是相邻位置中 s[i] != s[i+1] 的次数

构造

情况 1:k = n

直接输出全 a:

aaaa...a

因为:

  • 没有长度为 2 的非重复子串
  • 最长非重复子串长度是 1
  • 长度为 1 的子串一共有 n 个
  • 所以奇怪度就是 n

情况 2:1 <= k < n

构造:

  • 前面放 n-k 个 a
  • 后面接一个长度为 k 的交替串,从 b 开始,例如 babab...

即:

a...(n-k个) + babab...

例如 n=5, k=3:

aa + bab = aabab

相邻不同的次数恰好是:

  • 前缀最后一个 a 到后缀第一个 b:1 次
  • 后缀内部交替:k-1 次

总共正好 k 次。

而整个串只含 a/b 两种字符,所以最长非重复子串长度就是 2,奇怪度正好为 k。

代码

点击查看代码
 #include <bits/stdc++.h>using namespace std;int main() {ios::sync_with_stdio(false);cin.tie(nullptr);int n, k;cin >> n >> k;// 如果题目不保证有解,可以保底判断if (k < 1 || k > n) {cout << -1 << '\n';return 0;}string s;if (k == n) {s = string(n, 'a');} else {s = string(n - k, 'a');for (int i = 0; i < k; ++i) {s += (i % 2 == 0 ? 'b' : 'a');}}cout << s << '\n';return 0;}
http://www.jsqmd.com/news/707807/

相关文章:

  • 告别台架依赖:SkyEyeCANoe实现汽车CAN通信软件在环验证
  • G-Helper风扇控制终极指南:如何为你的ROG笔记本定制完美散热方案
  • 中山定制楼梯品牌怎么选?技术维度拆解靠谱标准 - 资讯焦点
  • .NET SqlSugar 仓储、工作单元、服务层
  • MCP 2026多租户隔离配置失效的5种静默形态,如何用1条kubectl命令+3行Prometheus告警规则实时捕获?
  • 想给照片换背景?这几款工具 + 1个微信小程序的搭配建议
  • 你的公司Wi-Fi总被蹭?可能是缺了这台“看门人”:手把手搭建AD域控实现802.1x认证
  • WPS 通配符神技:一键上标参考文献 + 中英文自动加空格
  • 2026年如何高效降低AI率?6款最新低成本降AI率工具实测(附独家指令) - 降AI实验室
  • 佛山定制楼梯品牌选型指南:技术维度拆解与实测参考 - 资讯焦点
  • 告别依赖冲突!手把手教你从源码编译libfranka 0.10.0与franka_ros(附特定版本切换指南)
  • KoGPT大模型推理加速:FasterTransformer优化实践
  • 换季总感冒发烧怎么回事?乳贝初接骨木莓配方,筑免疫防线 - 资讯焦点
  • TileKernels从入门到精通
  • 成都青少儿英语培训怎么选才契合孩子需求? - 品牌推荐官方
  • Oracle数据库物化视图概述
  • 中山定制楼梯品牌怎么选?从技术维度拆解核心标准 - 资讯焦点
  • 选择旅游团商家时应从哪些方面考量、如何挑选? - 品牌推荐官方
  • 别再手动调PID了!用STM32 MotorControl Workbench 5.4.4快速搞定FOC电机调试
  • GHelper:轻量级华硕笔记本控制工具完整使用指南
  • CST优化器避坑指南:为什么你的参数优化总不收敛?可能是这5个设置没搞对
  • 白酒品牌究竟该找谁来做?原来背后有这些门道! - 品牌推荐官方
  • GEO 实战教程:从 0 到 1 构建企业 GEO 体系
  • 给新生儿选纸尿裤别踩坑,2026年10大主流品牌盘点 - 资讯焦点
  • 桌面/在线/小程序三种抠图路线,2026 年选哪种更方便
  • STM32---项目学习日记
  • 2026年高效降AI工具必备收藏清单 - 降AI实验室
  • 茶韵悦龄——基于AI与适老化设计的益智康养平台
  • AI Agent开发指南:从Awesome清单到实战应用
  • 证件翻译公司选型全攻略:资质、流程与服务核心标准 - 资讯焦点