华为od机试 C++ 【切割字符串】

2023-11-05

题目

给定一个由小写字母组成的字符串。请找出两个位置,将字符串分为三部分。这三部分的总和应该是相同的,其中每部分的总和是其字符的ASCII码值的总和。注意,这两个位置的字符不包括在这三部分内。

如果你找到了这两个位置,请输出它们的位置。如果没有找到,请输出0,0。

例子:

输入: acdbbbca
输出: 2,5
这是因为当我们在位置2和5进行分割,我们得到三个部分:ac,bb,ca。它们的ASCII码值的总和都是相同的。

输入: abcabc
输出: 0,0
在这个例子中,我们找不到这样的两个位置。

思路

我们需要找到两个位置,将字符串分成三部分,并且这三部分的ASCII码值总和相同。比如:在字符串 “acdbbbca” 中,可以在第2和第5个位置切割字符串,得到 “ac”、“bb” 和 “ca” 三个子串。这三个子串的ASCII码值总和都是195。
通过get_prefix_sum 可以算出给定字符串每个前缀的ASCII码值总和,得到一个前缀和数组。前缀和数组的第i个元素存储的是字符串前i个字符的ASCII码值的总和。有了前缀和数组之后,就能找出任意子串的ASCII码值总和。determine_positions 可以将字符串分割成三个ASCII码值总和相等的子串的两个位置。

代码

#include
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

华为od机试 C++ 【切割字符串】 的相关文章

  • C语言中没有循环可以打印数组吗?

    例如 在Python中 如果我们将一个列表作为数组 它会直接用一行代码打印整个数组 有什么办法可以用C语言实现同样的事情吗 简短回答 No 对表格上几乎所有问题的简短回答 用 C 语言做 X 工作能像用 Python 一样简单吗 No 长答
  • C# 实体框架我们应该使用 POCO.Id 还是仅使用 POCO 设置关系?

    我在服务方法中遇到一种情况 将 POCO 分配为另一个 POCO 的子对象无法按预期工作 我正在使用实体框架 4 public void ChangeOrderCurrency Currency currency order Currenc
  • Java 8:如何创建毫秒、微秒或纳秒的 DateTimeFormatter?

    我需要创建格式化程序来解析具有可选的毫秒 微米或纳秒分数的时间戳 例如 对于我的需求 我看到以下机会 DateTimeFormatter formatter new DateTimeFormatterBuilder append DateT
  • Hybris:如何在impex中导入zip文件中的媒体?

    我知道我们可以导入未像这样压缩的图像 siteResource jar com project initialdata constants ProjectInitialDataConstants projectinitialdata imp
  • 使用默认行为将模型绑定到接口

    我正在尝试将控制器操作绑定到接口 但仍保持默认的绑定行为 public class CoolClass ISomeInterface public DoSomething get set ISomeInterface public clas
  • 如何使用 AffineTransform.quadrantRotate 旋转位图?

    我想旋转一个bitmap关于它的中心点 然后将其绘制成更大的图形上下文 位图是40x40 pixels 图形上下文是500x500 pixels 这就是我正在做的 BufferedImage bi new BufferedImage 500
  • 线程数组?

    所以我在理解如何避免线程的顺序执行时遇到了问题 我试图创建一个线程数组并在单独的循环中执行 start 和 join 函数 这是我现在拥有的代码示例 private static int w static class wThreads im
  • 在 Spring MVC 中将请求写入文件

    我希望能够将整个请求写入 Spring MVC 控制器中的文件 我已尝试以下操作 但即使我使用大量参数发出 POST 请求 文件也始终为空 RequestMapping method RequestMethod POST value pay
  • Spring 如何在运行时获取有关“强类型集合”的泛型类型信息?

    我在 Spring 3 0 文档中阅读了以下内容 强类型集合 仅限 Java 5 在 Java 5 及更高版本中 您可以使用强类型集合 使用泛型类型 也就是说 可以声明一个 Collection 类型 使其只能包含 String 元素 例如
  • 如果项目包含多个文件夹,如何使用 Add-Migration

    我想Add Migration使用我的 DbContext 但出现错误 The term add migration is not recognized as the name of a cmdlet function script fil
  • 如何在不使用 -cp 开关的情况下在 Groovy 中自动加载数据库 jar?

    我想简化调用 Oracle 数据库的 Groovy 脚本的执行 如何将 ojdbc jar 添加到默认类路径以便我可以运行 groovy RunScript groovy 代替 groovy cp ojdbc5 jar RunScript
  • Spring MVC:通用 DAO 和服务类

    我正在 Spring MVC 中编写网页 我使用 Generic DAO 编写了所有 DAO 现在我想重写我的服务类 我该如何写 通用服务 我的 DAO 如下 DAO package net example com dao import j
  • 使用联合对 IP 地址进行多种解释?

    在工作中 我们使用以下构造来将 IP 地址解释为 4 字节数组或 32 位整数 union IPv4 std uint32 t ip std uint8 t data 4 这很好用 但是读完这本书的第 97 章 不要使用联合来重新解释表示
  • Code::Blocks 中的调试似乎不起作用 - 缺少调试符号

    我正在尝试在 Code Blocks 中调试程序 我跟着本指南 http wiki codeblocks org index php title Debugging with Code Blocks and 这个短视频 http www y
  • 文本框中“结束编辑”的事件

    我正在 winform c 中使用文本框 并使用文本在数据库中进行查询 但每次文本更改时 我都需要不断查阅文本框的文本 因此 对于这些 我使用 KeyUp 但这个活动太慢了 文本框编辑完成后是否会触发任何事件 我考虑完成2个条件 控制失去焦
  • 动态菜单创建IoC

    我想知道是否有人知道我如何创建如何使用 AutoFac 之类的东西来让我动态地允许 dll 创建自己的表单和菜单项以在运行时调用它们 所以如果我有一个 员工 dll 新入门表格 证书表格 供应商 dll 供应商详细信息来自 产品形态 在我的
  • 使用 WinAPI 连接禁用的显示设备

    我的问题是启用禁用的监视器ChangeDisplaySettingsEx 我想这不是火箭科学 但经过一番挖掘后 它看起来仍然是不可能的 我找到了一种根据找到的 Microsoft 代码示例禁用所有辅助显示器的方法here https msd
  • C# 和断点 - 这里有魔术师吗?

    我有这个 public static void ByLinkText string text for var i 0 i lt 50 i try Setup Driver FindElement By LinkText text Click
  • 如何获取运行或段落的高度

    我找到了Run or Paragraph in FlowDocument现在我需要知道HEIGHT of it i e while navigator CompareTo flowDocViewer Document ContentEnd
  • execlp() 系统调用输出错误

    这个非常简单的例子exec 系统调用 在这里 我试图打电话execlp 两次 但是 我没有得到例外的输出 它仅显示当前目录的第一次调用的输出 include

随机推荐

  • mysql workbench 建库建表

    选择Create Schema建库 选择Create Table建表 改表名 上拉箭头选择更多 此处最好全屏 不然显示不全
  • UE5实现物体高亮描边效果(含UE相关源码浅析)

    文章目录 1 实现目标 2 实现过程 2 1 UE Editor中相关源码 2 2 深度值描边 2 3 半透明材质处理 2 4 遮挡处理 2 5 视口边缘处理 3 参考资料 1 实现目标 在UE5中实现物体边缘高亮效果 且在被遮挡时在边缘显
  • Android报Caused by: android.content.res.Resources$NotFoundException: String resource ID #0x0 .解决办法

    如果遇到这个问题 首先考虑以下原因 你是否在setText 方法中设置了一个int型变量 比如setText 10 这样Android系统就会主动去资源文件当中寻找 但是它不是一个资源文件ID 所以就会报出这个bug 解决办法 将int型业
  • 多维时序

    多维时序 MATLAB实现LSTM长短期记忆神经网络多变量时间序列预测 考虑历史特征的影响 多指标 多图输出 目录 多维时序 MATLAB实现LSTM长短期记忆神经网络多变量时间序列预测 考虑历史特征的影响 多指标 多图输出 效果一览 基本
  • linux - 文件利用率快满了 - mongo日志

    https zhuanlan zhihu com p 82430795 查看文件利用率 df h 文件夹大小 ls lh 逐级搜索大文件或目录 du sh cd 返回上一层 ps ef grep mongo 启动 mongodb bin m
  • 布尔值(python)

    while语句 格式 while 表达式 语句 逻辑 当程序执行到while语句时 首先计算表达式的值 如果表达式的值为假 那么结束整个while语句 如果为真 则先执行语句 再去计算表达式的值 如果表达式的值为假 那么结束整个while语
  • 从匿名函数到函数式编程

    什么是匿名函数 匿名函数是一种没有名称的函数 也被称为 lambda 函数或者函数字面量 和普通函数不同 匿名函数不需要在定义时指定函数名 通常是在需要的时候直接定义和使用 匿名函数通常被用作一次性的函数 例如作为其他函数的参数或者返回值
  • IDEA调试技巧

    在项目开发的时候很多小伙伴能非常熟练的使用IDEA编写代码 但是对于IDEA调试的技巧掌握的不是很好 只会F7 F8 F9等这些基本调试功能 而像一些复杂的调试场景就无从下手 如 在for循环中调试某个特定值 修改变量的运行值等 本文介绍了
  • Kubernetes 动态分配存储卷之 NFS-Subdir-External-Provisioner

    NFS Provisioner 已经停止维护 现在新的 NFS 动态分配器已经切换为 NFS Subdir External Provisioner 该组件也是一个自动配置卷程序 它使用现有的和已配置的 NFS 服务器来支持通过持久卷声明动
  • 二、C++语言初阶:类与对象

    2 类与对象 2 1 认识类与对象 什么是类 class 类 class 是类型 type 是用户自定义的类型 为什么不叫它type 因为借用Simula语言中的class关键字 为什么要有类 基于便利性的考虑 现实世界中物 object
  • 本地连腾讯云CentOS7主机Unable to connect to Redis异常

    问题描述 SpringBoot集成Redis操作 Unable to connect to Redis异常 1 yml中的spring redis的host和port配置无误 2 云主机的6379端口开放 3 redis conf配置文件b
  • 委托构造函数详解,小白也可以看懂

    委托构造函数 什么是委托构造函数 为什么要有委托构造函数 代码讲解 注意事项 参考链接 什么是委托构造函数 当我还不知道这个东西的时候 看到名字 顾名思义 我理解为委托其他构造函数帮忙构造 这和定义也是相近的 C 11 引入了委托构造的概念
  • Sublime Text 3 无法运行install package 的有效解决方法

    Sublime Text 3 无法运行install package 的有效解决方法 无法找到install package命令的解决方法 能搜到install package 但点击install package没反应的解决方法 无法找到
  • mysql中插入、更新数据时Duplicate entry '' for key 'PRIMARY'的解决方案

    今日小艾在修改数据时mysql报错1062 Duplicate entry for key mobile 一开始以为是字段类型错误 后面发现是该表字段设置了索引键 禁止改字段有重复的数据 要插入数据的主键数据 已经存在 不能再重复添加了 例
  • 浅谈JDBC及JDBC的基本使用

    目录 JDBC概述 数据持久化 Java中的数据存储技术 JDBC介绍 JDBC体系结构 JDBC程序编写步骤 获取数据库连接 Driver接口实现类 加载与注册JDBC驱动 url 几种常用数据库的 JDBC URL 用户名和密码 连接方
  • 小程序封装拖拽菜单组件(uniapp拖拽排序,自定义菜单)

    效果展示 思路 使用movable area作为可移动区域 并在内部循环渲染列表项view 绑定touch事件 在mounted生命周期函数内获取区域movable area的dom信息 记录列表项的坐标信息 在methods中定义了列表项
  • 2.nodejs安装/yarn使用/循环事件

    1 nodejs安装 1 1 基本安装 从nodejs官网https nodejs org en 下载对应包 生成环境建议使用LTS版本 在https nodejs org en docs 有使用相关文档说明 安装完成之后我们可以通过 查看
  • 顺序表如何插入元素? 看这里!!

    设计算法 将一个元素插入到有序的顺序表中 使顺序表仍有序 并编写主函数测试算法 1 算法 将一个顺序表利用冒泡排序的方法从小到大排序 将要插入的数据x与顺序表的元素一一进行比较 如果存在相等的话 停止插入 如果x位于顺序表某两个相邻的元素a
  • 【Nginx系列】- 源码安装依赖环境解释说明

    Nginx源码安装会依赖一些必要的环境 如下 GCC编译器 Nginx是使用C语言编写的程序 因此想要运行Nginx就需要安装一个编译工具 GCC就是一个开源的编译器集合 用于处理各种各样的语言 其中就包含了C语言 使用如下命令来安装与验证
  • 华为od机试 C++ 【切割字符串】

    题目 给定一个由小写字母组成的字符串 请找出两个位置 将字符串分为三部分 这三部分的总和应该是相同的 其中每部分的总和是其字符的ASCII码值的总和 注意 这两个位置的字符不包括在这三部分内 如果你找到了这两个位置 请输出它们的位置 如果没