【华为OD机试真题】字符串划分(C&C++&java&python&JavaScript&go)100%通过率【2023(B卷)100分】

本文详细介绍了华为在线开发者测试(OD)的一道字符串划分问题,涉及C、C++、Java、Python、JavaScript和Go等语言的解题思路。问题要求找到两个字符位置,使字符串分为三部分,且子串ASCII码和相等。文章包括输入输出描述、示例、解题思路、复杂度分析和各语言参考代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

字符串划分

题目描述

给定一个小写字母组成的字符串 s,请找出字符串中两个不同位置的字符作为分割点,使得字符串分成的三个连续子串且子串权重相等,注意子串不包含分割点。
若能找到满足条件的两个分割点,请输出这两个分割点在字符串中的位置下标,若不能找到满足条件的分割点请返回0,0。
子串权重计算方式为:子串所有字符的ASCII码数值之和。

输入描述

输入为一个字符串,字符串由a~z,26个小写字符组成,5≤字符串长度≤200

输出描述

输出为两个分割点在字符串中的位置下标,以逗号分隔

示例一

输入

acdbbbca

输出

2,5

说明

以位置2和5作为分割点,将字符串分割为ac,bb,ca三个子串,每一个的子串权重都为196,输出

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

笑着的程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值