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 video solution AI分析

思路解析

题目要求:对每个前缀,统计所有子串中首字母和尾字母不相等的个数。

关键点:

P4314.【哈希7】每日一题

    1000ms Tried: 602 Accepted: 239 Difficulty: 6
    算法与标签>哈希表

本题为2025年8月31日小红书机考原题

小红书机考的介绍点击这里

题目内容

这天,小红薯在小红书上看到了一道每日一题之编程题,如下:

[引用开始]

定义一个字符串是包裹字符串为:字符串的首字母等于最后一个字母。

求解一个字符串的全部子串中,有多少个不是包裹字符串。

[引用结束]

刚好,这两天小红薯正在学习字符串相关的知识,字符串的使用非常广泛,所以要认真的学习。

小红薯在评论区看到了这个问题的进阶版:对于给定的字符串s1,s2..sns_1,s_2..s_ns1​,s2​..sn​,对于每一个前缀[1][1][1]依次求解,它的全部非空子串[2][2][2]中有多少个不是包裹字符串。

小红薯觉得这个题目很有趣,所以她决定写一个程序,来解决这个问题。

[名词解释]

前缀[1][1][1]:从原字符串的第一个字符开始,连续选择若干个字符得到的新字符串。一个长度为nnn的字符串有nnn个不同的前缀。

子串[2][2][2]:从原字符串中,连续的选择一段字符(可以全选)得到的新字符串。

输入描述

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

第二行输入一个长度为nnn,由小写字母组成的字符串sss。

输出描述

一共nnn行,第iii行输出一个整数,表示原字符串的前缀子串[1,i][1,i][1,i]的全部子串中,不为包裹字符串的数量。

样例1

输入

4
abda

输出

0
1
3
5

说明

对于前缀子串[1,3][1,3][1,3]即"abdabdabd",它的全部子串为"aaa","bbb","ddd","ababab","bdbdbd","abdabdabd",前三个是包裹字符串,后三个不是。

开通会员即可查看完整视频题解: 1.题目讲解 2.思路分析 3.逐行代码手写

登录后即可使用 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 1, 38ms
  3. Powered by Hydro v5.0.0-beta.18 Community
CLOSE


ScanQRCodePrompt

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

Forgot password or username?