E-字符成环找偶数O(100p)

刷题笔记合集🔗

环中最长子串-字符成环找偶数O

问题描述

K小姐有一个由小写字母组成的字符串 。他想把这个字符串首尾相连形成一个环,然后在环中找出包含偶数个字母 'o' 的最长子串的长度。你能帮助她解决这个问题吗?

输入格式

输入一行,包含一个由小写字母组成的字符串

输出格式

输出一个整数,表示环中包含偶数个字母 'o' 的最长子串的长度。

样例输入1

alolobo

样例输出1

6

样例输入2

ooooo

样例输出2

4

样例输入3

abcde

样例输出3

5
样例 解释说明
样例1 在字符串 "alolobo" 中,最长的满足条件的子串之一是 "alolob",它包含 2 个 'o' 字符,长度为 6。
样例2 在字符串 "ooooo" 中,最长的满足条件的子串是 "oooo",它包含 4 个 'o' 字符,长度为 4。
样例3 在字符串 "abcde" 中,整个字符串都不包含 'o',因此整个字符串都满足条件,长度为 5。

数据范围

题解

结论

这道题目的关键在于理解字符串首尾相连形成环的特性,以及如何处理偶数个 'o' 的要求。

  1. 首先,需要统计整个字符串中 'o' 的数量。这很重要,因为它决定了我们的策略。
  2. 如果 'o' 的数量是偶数,那么整个字符串就是一个有效的解。为什么?因为无论从哪里开始,只要包含整个字符串,'o' 的数量总是偶数。
  3. 如果 'o' 的数量是奇数,就需要删除一个字符来使 'o' 的数量变成偶数。
    • 只需要删除一个 'o',就可以使剩下的 'o' 数量变成偶数。
  4. 删除一个字符后,最长的子串长度就是原字符串长度减一。
  5. 特别注意,如果字符串中没有 'o',那么整个字符串都是有效的。

参考代码

  • Python
def solve(s):
    # 统计字符串中 'o' 的数量
    count_o = s.count('o')
    
    # 如果 'o' 的数量是偶数,整个字符串都是有效的
    if count_o % 2 == 0:
        return len(s)
    # 如果 'o' 的数量是奇数,需要删除一个字符
    else:
        return len(s) - 1

# 读取输入
s = input().strip()

# 输出结果
print(solve(s))
  • C
#include <stdio.h>
#include <string.h>

int solve(char* s) {
    int len = strlen(s);
    int count_o = 0;
    
    // 统计字符串中 'o' 的数量
    for (int i = 0; i < len; i++) {
        if (s[i] == 'o') {
            count_o++;
     

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

算法刷题笔记 文章被收录于专栏

本专栏收集并整理了一些刷题笔记

全部评论

相关推荐

不愿透露姓名的神秘牛友
05-29 15:00
教授A:“你为什么要讲这么久,是要压缩我们对你的评议时间吗?你们别以为这样就能够让我们对你们少点意见。”&nbsp;“从你的发言和论文格式就能知道你的性格啊。”…….&nbsp;感觉被狠狠霸凌了。
码农索隆:“教授您好,首先我想回应您提出的两点疑问。” “关于我讲解时间较长的问题:这绝非为了压缩各位老师的评议时间。这份毕业设计是我过去几个月倾注了全部心血的作品,从构思、实验、调试到撰写,每一个环节都反复打磨。我深知时间宝贵,所以选择详细讲解,是希望能更完整、清晰地展示它的核心创新点、实现过程和验证结果,确保老师们能充分理解它的价值和我的努力。我完全理解并重视评审环节的意义,也做好了充分准备来听取各位老师的专业意见和批评。几个月的研究都坚持下来了,我怎么可能害怕老师们的点评呢?今天站在这里,正是抱着虚心学习、诚恳求教的态度而来。” “如果我的展示确实超时,影响了后续流程,烦请老师们随时示意,我会立刻调整。我非常期待并预留了充足的时间,希望能听到老师们宝贵的建议和深入的讨论。” “其次,关于您提到‘从发言和论文格式就能知道我的性格’。教授,我对此感到非常困惑和不安。学术研究和答辩的核心,难道不应该是作品本身的质量、逻辑的严谨性、数据的可靠性和结论的合理性吗?论文格式有明确的规范要求,我尽最大努力遵循了这些规范。如果格式上存在疏忽或不足,这属于技术性、规范性的问题,恳请老师们具体指出,我一定认真修改。但将格式问题或个人表达风格(如讲解时长)直接上升为对个人性格的评判,甚至以此作为质疑我学术态度和动机的依据,这让我感到非常不公平,也偏离了学术评议应有的客观和严谨原则。” “我尊重每一位评审老师的专业权威,也衷心希望能得到老师们对我的工作内容本身的专业指导和批评指正。任何基于研究本身的意见,无论多么尖锐,我都会认真聆听、反思并改进。但我恳请老师们,能将评议的焦点放在我的研究本身,而不是对我个人进行主观的推断或评价。谢谢各位老师。”
点赞 评论 收藏
分享
葬爱~冷少:我当时都是上午刷力扣,下午背八股,有活给我先别急,没活就干自己的事情
点赞 评论 收藏
分享
评论
1
1
分享

创作者周榜

更多
牛客网
牛客企业服务