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

【2024最新华为OD-C/D卷试题汇总】[支持在线评测] 内存访问热度分析(100分) - 三语言AC题解(Python/Java/Cpp)

🍭 大家好这里是清隆学长 ,一枚热爱算法的程序员

✨ 本系列打算持续跟新华为OD-C/D卷的三语言AC题解

💻 ACM银牌🥈| 多次AK大厂笔试 | 编程一对一辅导

👏 感谢大家的订阅➕ 和 喜欢💗

📎在线评测链接

https://app5938.acapp.acwing.com.cn/contest/2/problem/OD1064

🌍 评测功能需要 ⇒ 订阅专栏 ⇐ 后私信联系清隆解锁~

🍓OJ题目截图

在这里插入图片描述

文章目录

    • 📎在线评测链接
    • 🍓OJ题目截图
    • 🧷 字符串环游戏
      • 问题描述
      • 输入格式
      • 输出格式
      • 样例输入
      • 样例输出
      • 样例解释
      • 数据范围
      • 题解
      • 参考代码

🧷 字符串环游戏

问题描述

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

输入格式

输入一个由小写字母组成的字符串 s s s

输出格式

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

样例输入

alolobo

样例输出

6

样例解释

在给定的样例中,最长的满足条件的子串之一是 "alolob",它包含 2 2 2'o' 字符。

数据范围

1 ≤ ∣ s ∣ ≤ 5 × 1 0 5 1 \le |s| \le 5 \times 10^5 1s5×105

题解

本题可以通过统计字符串中 'o' 字符的个数来解决。具体步骤如下:

  1. 统计字符串 s s s'o' 字符的个数,记为 c n t cnt cnt
  2. 如果 c n t cnt cnt 是偶数,那么字符串 s s s 本身就是满足条件的最长子串,直接输出字符串 s s s 的长度即可。
  3. 如果 c n t cnt cnt 是奇数,那么我们需要删除字符串 s s s 中的任意一个字符,使得删除后的字符串中 'o' 字符的个数变为偶数。此时满足条件的最长子串长度为字符串 s s s 的长度减 1 1 1

因此,我们只需要判断字符串 s s s'o' 字符的个数的奇偶性,然后根据奇偶性输出相应的结果即可。

时间复杂度: O ( n ) O(n) O(n),其中 n n n 为字符串 s s s 的长度。
空间复杂度: O ( 1 ) O(1) O(1)

参考代码

  • Python
def solve(s):cnt = s.count('o')if cnt % 2 == 0:return len(s)else:return len(s) - 1s = input().strip()
print(solve(s))
  • Java
import java.util.Scanner;public class Main {public static int solve(String s) {int cnt = 0;for (char c : s.toCharArray()) {if (c == 'o') {cnt++;}}if (cnt % 2 == 0) {return s.length();} else {return s.length() - 1;}}public static void main(String[] args) {Scanner scanner = new Scanner(System.in);String s = scanner.nextLine();System.out.println(solve(s));}
}
  • Cpp
#include <iostream>
#include <string>using namespace std;int solve(string s) {int cnt = 0;for (char c : s) {if (c == 'o') {cnt++;}}if (cnt % 2 == 0) {return s.length();} else {return s.length() - 1;}
}int main() {string s;cin >> s;cout << solve(s) << endl;return 0;
}

相关文章:

  • Electron+vite+vuetify项目搭建
  • 在php中的序列化与反序列化
  • 【elementui源码解析】如何实现自动渲染md文档-第三篇
  • 【服务器04】之【Navicat连接阿里云】
  • 上网行为管理系统是干什么的?4款高人气上网管理软件盘点
  • Python联动Mysql
  • RisingWave 1.9 发布!新增 Snowflake sink 连接器
  • 【安全函数】常用的安全函数的使用
  • WPF学习(2)--类与类的继承2-在窗口的实现
  • opencv 打开图片后,cv::mat存入共享内存的代码,如何设置队列?
  • C 语言通用MySQL 功能增删查改功能.
  • [Mysql] 的基础知识和sql 语句.教你速成(上)——逻辑清晰,涵盖完整
  • SwaggerSpy:一款针对SwaggerHub的自动化OSINT安全工具
  • NetSuite Inventory Transfer Export Saved Search
  • 安装TensorFlow2.12.0
  • 【跃迁之路】【733天】程序员高效学习方法论探索系列(实验阶段490-2019.2.23)...
  • Docker 笔记(2):Dockerfile
  • javascript面向对象之创建对象
  • Mac转Windows的拯救指南
  • Spring核心 Bean的高级装配
  • WePY 在小程序性能调优上做出的探究
  • 从地狱到天堂,Node 回调向 async/await 转变
  • 从输入URL到页面加载发生了什么
  • 聚簇索引和非聚簇索引
  • 浏览器缓存机制分析
  • 实现简单的正则表达式引擎
  • 译米田引理
  • Semaphore
  • 京东物流联手山西图灵打造智能供应链,让阅读更有趣 ...
  • #define用法
  • #绘制圆心_R语言——绘制一个诚意满满的圆 祝你2021圆圆满满
  • $ git push -u origin master 推送到远程库出错
  • (1)Map集合 (2)异常机制 (3)File类 (4)I/O流
  • (13)[Xamarin.Android] 不同分辨率下的图片使用概论
  • (八)c52学习之旅-中断实验
  • (非本人原创)史记·柴静列传(r4笔记第65天)
  • (简单有案例)前端实现主题切换、动态换肤的两种简单方式
  • (每日一问)基础知识:堆与栈的区别
  • (南京观海微电子)——COF介绍
  • (深度全面解析)ChatGPT的重大更新给创业者带来了哪些红利机会
  • (图文详解)小程序AppID申请以及在Hbuilderx中运行
  • (原创) cocos2dx使用Curl连接网络(客户端)
  • (原创)boost.property_tree解析xml的帮助类以及中文解析问题的解决
  • (轉貼) UML中文FAQ (OO) (UML)
  • ****** 二十三 ******、软设笔记【数据库】-数据操作-常用关系操作、关系运算
  • .mkp勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .NET C# 操作Neo4j图数据库
  • .NET Core 实现 Redis 批量查询指定格式的Key
  • .NET Framework 3.5安装教程
  • .netcore 如何获取系统中所有session_如何把百度推广中获取的线索(基木鱼,电话,百度商桥等)同步到企业微信或者企业CRM等企业营销系统中...
  • @DependsOn:解析 Spring 中的依赖关系之艺术
  • [ C++ ] STL---string类的模拟实现
  • [ 代码审计篇 ] 代码审计案例详解(一) SQL注入代码审计案例
  • [1159]adb判断手机屏幕状态并点亮屏幕
  • [2013AAA]On a fractional nonlinear hyperbolic equation arising from relative theory