【2024最新华为OD-C卷试题汇总】字符串分割(100分) - 三语言AC题解(Python/Java/Cpp)

news2024/11/25 22:33:06

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

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

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

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

文章目录

  • 前言
    • 🎀关于华为OD
    • 🧭 机试备考指南
    • 🎧 字符串分割(100分)
      • 问题描述
      • 输入格式
      • 输出格式
      • 样例输入
      • 样例输出
      • 数据范围
      • 题解
      • 参考代码
    • ✅AC代码截图

前言

🎀关于华为OD

  • ✨华为OD的概念
    华为的大部分社会招聘采用了被称为OD(Outsourcing Dispatch)模式,这是一种与德科共同进行的招聘方式。在这种模式下,被招聘的员工通常被定级在13至17级,这些员工被视为华为的储备人才。华为每年会从这些OD项目中选拔表现出色的员工,并将他们转为正式员工。
  • ⌚️华为 OD 应聘流程
    • 第一步:投递简历

      • 提供姓名、邮箱、手机号、身份证号,用于锁定,所以投递前需要考虑清楚,投到项目组之后,一般不会转给另一个项目的 HR 了,也就是被锁定。
    • 第二步:机试

      • 3 道算法题,400 分满分,一般 1 个月的准备时间,华为机试必须要 300 分以上,没有过半年之后才能参加下一次考试。
    • 第三步:技术面

      • 2 轮技术面试。
    • 第四步:HR 与主管面试

    • 第五步:录用,发 offer

🧭 机试备考指南

  • 华为OD的题库大半年跟新一次,也就是说,一旦跟新,那么本年用的题目就是从该题库种选题,大概有100~200道左右

  • 最近考试换为C/D卷,C/D卷题库是一样的,D卷为双机位监控,某些外包公司应聘的为D卷。

  • 为此清隆帮大家搜集并整理了C卷的题库,后续会由清隆的ACM银牌团队将题目整理后搬上OJ,支持在线评测

🎧 字符串分割(100分)

问题描述

K小姐最近在研究字符串问题。现在,她有一个只包含大写字母 X X X Y Y Y 的字符串 S S S,且 S S S X X X Y Y Y 的数量相等。这种字符串被称为均衡串。

K小姐想知道, S S S 最多可以被分割成多少个连续的子串,使得每个子串都是一个均衡串。

输入格式

输入一个字符串 S S S,字符串中只包含大写字母 X X X Y Y Y,保证 S S S 是一个均衡串。

输出格式

输出一个整数,表示 S S S 最多可以被分割成的均衡子串数量。

样例输入

XXYYXY

样例输出

2

数据范围

2 ≤ ∣ S ∣ ≤ 10000 2 \leq |S| \leq 10000 2S10000

题解

这道题可以使用贪心的思想来解决。我们可以从左到右扫描字符串,维护当前子串中 X X X Y Y Y 的数量。如果在某个位置,当前子串中 X X X Y Y Y 的数量相等,那么我们就找到了一个均衡子串,可以将其分割出来,然后继续扫描剩余的字符串。

具体实现时,我们可以用一个变量 c n t cnt cnt 来表示当前子串中 X X X 的数量减去 Y Y Y 的数量。如果遇到 X X X,就将 c n t cnt cnt 1 1 1,如果遇到 Y Y Y,就将 c n t cnt cnt 1 1 1。当 c n t cnt cnt 0 0 0 时,说明当前子串是一个均衡串,可以将其分割出来。

时间复杂度 O ( n ) O(n) O(n),空间复杂度 O ( 1 ) O(1) O(1)

参考代码

  • Python
s = input()
cnt = 0
ans = 0
for c in s:
    if c == 'X':
        cnt += 1
    else:
        cnt -= 1
    if cnt == 0:
        ans += 1
print(ans)
  • Java
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String s = sc.nextLine();
        int cnt = 0, ans = 0;
        for (char c : s.toCharArray()) {
            if (c == 'X') {
                cnt++;
            } else {
                cnt--;
            }
            if (cnt == 0) {
                ans++;
            }
        }
        System.out.println(ans);
    }
}
  • Cpp
#include <iostream>
#include <string>

using namespace std;

int main() {
    string s;
    cin >> s;
    int cnt = 0, ans = 0;
    for (char c : s) {
        if (c == 'X') {
            cnt++;
        } else {
            cnt--;
        }
        if (cnt == 0) {
            ans++;
        }
    }
    cout << ans << endl;
    return 0;
}

✅AC代码截图

  • 🍓 目前题目还在整理上传ing,需要抢先体验的联系清隆开通OJ账号,由于维护服务器需要成本💰,所以名额有限(暂不免费啦~)

在这里插入图片描述

  • AC代码 python 版本
    在这里插入图片描述
  • AC代码 java 版本

在这里插入图片描述

  • AC代码 cpp 版本

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1651174.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Springboot 集成 Consul 实现服务注册中心-05

因为后续很多模块都要用到注册中心&#xff0c;所以此处先实现此模块。 Consul简介 Consul是一个开源的服务发现和配置管理工具&#xff0c;具有跨平台、运行高效等特点。它由HashiCorp公司开发&#xff0c;并使用Go语言编写。Consul主要用于实现分布式系统中的服务发现、健康…

计算机毕业设计Python+Vue.js天气预测系统 中国气象质量采集与可视化 天气数据分析 天气可视化 天气大数据 天气爬虫 大数据毕业设计

摘要 随着科技技术的不断发展&#xff0c;人民物质生活质量不断提高&#xff0c;我们越来越关注身边的气象、空气等地理环境。对于普通居民我们会选择合适的气象进行出游&#xff0c;提高精神层面的生活质量&#xff1b;对于企业会关注气象变换状况&#xff0c;来定制相关的生产…

springboot lua检查redis库存

需求 最近需求需要实现检查多个马戏场次下的座位等席对应库存渠道的库存余量&#xff0c;考虑到性能&#xff0c;决定采用Lua脚本实现库存检查。 数据结构 库存层级结构 redis库存hash类型结构 实现 lua脚本 --- 字符串分割为数组 local function split(str, char)local…

rust容器、迭代器

目录 一&#xff0c;std容器 1&#xff0c;Vec&#xff08;向量、栈&#xff09; 2&#xff0c;VecDeque&#xff08;队列、双端队列&#xff09; 3&#xff0c;LinkedList&#xff08;双向链表&#xff09; 4&#xff0c;哈希表 5&#xff0c;集合 6&#xff0c;Binary…

HarmonyOS开发案例:【计算器】

介绍 基于基础组件、容器组件&#xff0c;实现一个支持加减乘除混合运算的计算器。 说明&#xff1a; 由于数字都是双精度浮点数&#xff0c;在计算机中是二进制存储数据的&#xff0c;因此小数和非安全整数&#xff08;超过整数的安全范围[-Math.pow(2, 53)&#xff0c;Math.…

TriCore User Manual 笔记 1

说明 本文是 英飞凌 架构文档 TriCore TC162P core archiecture Volume 1 of 2 (infineon.com) 的笔记&#xff0c;稍作整理方便查阅&#xff0c;错误之处&#xff0c;还请指正&#xff0c;谢谢 :) 1. Architecture 2. General Purpose & System Register 名词列表&#…

hadoop学习---基于Hive的教育平台数据仓库分析案例(二)

衔接第一部分&#xff0c;第一部分请点击&#xff1a;基于Hive的教育平台数据仓库分析案例&#xff08;一&#xff09; 意向用户模块&#xff08;全量分析&#xff09;&#xff1a; 需求指标&#xff1a; 需求一: 计期内&#xff0c;新增意向客户&#xff08;包含自己录入的意…

kaggle叶子分类比赛(易理解)

说实话网上很多关于叶子分类比赛的代码能取得的成绩都很好,但对于我这个业余人员太专业了&#xff0c;而且很多文章都有自己的想法&#xff0c;这让我这个仿写沐神代码的小菜鸡甚是头痛。 但好在我还是完成了&#xff0c;虽然结果并不是很好&#xff0c;但是如果跟着沐神走的同…

Spring+Vue的卓越托管中心管理系统的设计与实现+PPT+论文+讲解+售后

相比于以前的传统手工管理方式&#xff0c;智能化的管理方式可以大幅降低运营人员成本&#xff0c;实现了卓越托管中心管理系统的标准化、制度化、程序化的管理&#xff0c;有效地防止了卓越托管中心管理系统的随意管理&#xff0c;提高了信息的处理速度和精确度&#xff0c;能…

PTA|小字辈

题目 本题给定一个庞大家族的家谱&#xff0c;要请你给出最小一辈的名单。 输入格式&#xff1a; 输入在第一行给出家族人口总数 N&#xff08;不超过 100 000 的正整数&#xff09; —— 简单起见&#xff0c;我们把家族成员从 1 到 N 编号。随后第二行给出 N 个编号&#x…

顺序表的实现(迈入数据结构的大门)

什么是数据结构 数据结构是由&#xff1a;“数据”与“结构”两部分组成 数据与结构 数据&#xff1a;如我们所看见的广告、图片、视频等&#xff0c;常见的数值&#xff0c;教务系统里的&#xff08;姓名、性别、学号、学历等等&#xff09;&#xff1b; 结构&#xff1a;当…

三分钟了解计算机网络核心概念-数据链路层和物理层

计算机网络数据链路层和物理层 节点&#xff1a;一般指链路层协议中的设备。 链路&#xff1a;一般把沿着通信路径连接相邻节点的通信信道称为链路。 MAC 协议&#xff1a;媒体访问控制协议&#xff0c;它规定了帧在链路上传输的规则。 奇偶校验位&#xff1a;一种差错检测方…

【RT-DETR有效改进】 主干篇 | 2024.5全新的移动端网络MobileNetV4改进RT-DETR(含MobileNetV4全部版本改进)

&#x1f451;欢迎大家订阅本专栏&#xff0c;一起学习RT-DETR&#x1f451; 一、本文介绍 本文给大家带来的改进机制是MobileNetV4&#xff0c;其发布时间是2024.5月。MobileNetV4是一种高度优化的神经网络架构&#xff0c;专为移动设备设计。它最新的改动总结主要有两点&…

【intro】图注意力网络(GAT)

论文阅读 https://arxiv.org/pdf/1710.10903 abstract GAT&#xff0c;作用于图结构数据&#xff0c;采用masked self-attention layers来弥补之前图卷积或类似图卷积方法的缺点。通过堆叠layers&#xff0c;让节点可以添加其邻居的特征&#xff0c;我们就可以给不同的邻居节…

java-串口通讯-连接硬件

串口通信&#xff08;Serial Communications&#xff09;的概念非常简单&#xff0c;串口按位&#xff08;bit&#xff09;发送和接收字节。尽管比按字节&#xff08;byte&#xff09;的并行通信慢&#xff0c;但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很…

04.2.配置应用集

配置应用集 应用集的意思就是&#xff1a;将多个监控项添加到一个应用集里面便于管理。 创建应用集 填写名称并添加 在监控项里面找到对应的自定义监控项更新到应用集里面 选择对应的监控项于应用集

45 套接字

本节重点 认识ip地址&#xff0c;端口号&#xff0c;网络字节序等网络编程中的基本概念 学习scoket&#xff0c;api的基本用法 能够实现一个简单的udp客户端/服务端 能够实现一个简单的tcp客户端/服务器&#xff08;但链接版本&#xff0c;多进程版本&#xff0c;多线程版本&a…

时间复杂度与空间复杂度(上篇)

目录 前言时间复杂度 前言 算法在运行的过程中要消耗时间资源和空间资源 所以衡量一个算法的好坏要看空间复杂度和时间复杂度&#xff0c; 时间复杂度衡量一个算法的运行快慢 空间复杂度是一个算法运行所需要的额外的空间 一个算法中我们更关心的是时间复杂度 时间复杂度 时…

【快捷部署】023_HBase(2.3.6)

&#x1f4e3;【快捷部署系列】023期信息 编号选型版本操作系统部署形式部署模式复检时间023HBase2.3.6Ubuntu 20.04tar包单机2024-05-07 注意&#xff1a;本脚本非全自动化脚本&#xff0c;有2次人工干预&#xff0c;第一次是确认内网IP&#xff0c;如正确直接回车即可&#…

什么软件能在桌面提醒我 电脑桌面提醒软件

在这个信息爆炸的时代&#xff0c;我们每个人每天都需要处理海量的信息和任务。有时候&#xff0c;即便是再细心的人&#xff0c;也难免会因为事情太多而忘记一些重要的细节。 我就经常遇到这样的问题&#xff0c;明明记得自己有个重要的会议要参加&#xff0c;或者有个关键的…