1. Job Roadmap
  2. Home
  3. Problem Set
  4. codenotelist
  5. Forum
  6. course
  7. Shore Share Sessions
  8. Record
  1. Login
  2. Sign Up
  3. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
    ZhContent TextSol AI分析

解题思路

我们要在字符串中出现子串 "abcdefghijklmnopqrstuvwxyz"(长度为 26,下文记为目标串 T),允许的操作是:选择一个下标把字符改成任意小写字母。问最少需要多少次操作;若无法做到输出 -1。

关键事实

  • 若 n < 26,无论如何修改都不可能出现长度为 26 的子串,答案为 -1。
  • 若 n ≥ 26,一定可以:选择任意长度为 26 的窗口,把其中的字符逐个改成 T 对应位置即可。因此答案等于 所有长度为 26 的窗口与 T 的最小“汉明距离”(不相等字符的个数)。

P4303.第1题-字符串修改

    1000ms Tried: 60 Accepted: 18 Difficulty: 3 所属公司 : 米哈游
    算法与标签>双指针

题目内容

给定一个长度为 nnn 的字符串 sss,字符串仅由小写字母组成,下标从 111 开始。你可以对字符串执行以下操作任意次:

  • 选择一个下标 iii,将 sis_isi​ 修改为任意小写字母;

请问最少需要多少次操作,才能让字符串中出现子串"abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz"。

【名词解释】

  • 子串:子串为从原字符串中连续地选择一段字符(可以全选、可以不选)得到的新字符串。

输入描述

每个测试文件均包含多组测试数据。第一行输入一个整数 T(1≦T≦104)T(1≦T≦10^4)T(1≦T≦104),代表数据组数;

此后对于每组测试数据:

  • 第一行输入一个整数 n(1≦n≦2×105)n(1≦n≦2×10^5)n(1≦n≦2×105),表示字符串长度;

  • 第二行输入一个长度为 nnn、仅由小写字母构成的字符串 sss .

除此之外,保证所有测试数据中几的总和不超过 2×1052×10^52×105 。

输出描述

对于每组测试数据,新起一行,输出一个整数,代表最少的操作次数;

  • 如果不存在使字符串中出现完整英文字母序列的方案,则输出 −1-1−1 .

样例1

输入

3
37
abcdefghijklmnopqrstuvwxyzzzzzzzzzzzz
26
bcdefghijkimnopqrstuvwxyza
25
abcdefghijklmnopqrstuvwxy

输出

0
26
-1

登录后即可使用 AI 分析。

模式
倒计时时长
:

最长 10 小时 59 分;应用后按此时长重新开始。

提示:点击提交记录在左侧题面区域查看详情
题库
AI分析设置
留空使用官方API Key,每天有次数限制(自定义API Key仅限会员和管理员使用,不限次数)
会员和管理员可切换模型;切到 Kimi/智谱/通义/豆包时需填写对应供应商 API Key
升级会员,可将运行与提交冷却时间缩短至 1 秒起

Status

  • Judging Queue
  • Service Status

Development

  • Open Source

Support

  • Help
  • Contact Us

About

  • About
  • Privacy
  • Terms of Service
  • Copyright Complaint
  1. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
  2. Legacy mode
  3. Theme
    1. Light
    2. Dark
  1. 京ICP备2025123107号-1
  2. Worker 2, 128ms
  3. Powered by Hydro v5.0.0-beta.18 Community
CLOSE


ScanQRCodePrompt

请使用微信扫描下方二维码完成注册

Forgot password or username?