华为od机试 Java 【切割字符串】 怼烎@ 2023-10-15 16:43 62阅读 0赞 ### 题目 ### 给定一个由小写字母组成的字符串。请找出两个位置,将字符串分为三部分。这三部分的总和应该是相同的,其中每部分的总和是其字符的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码值总和相等的子串的两个位置。 ### 代码 ### import java
相关 华为OD机试 - 字符串解密(Java) 题目描述 给定两个字符串string1和string2。 string1是一个被加扰的字符串。 string1由小写英文字母(’a’~’z’)和数字字符(’0’~’ 蔚落/ 2024年03月17日 22:18/ 0 赞/ 96 阅读
相关 华为OD机试 - 挑选字符串(Java) 题目描述 给定a-z,26个英文字母小写字符串组成的字符串A和B,其中A可能存在重复字母,B不会存在重复字母,现从字符串A中按规则挑选一些字母可以组成字符串B。 挑选规 淡淡的烟草味﹌/ 2024年03月17日 22:04/ 0 赞/ 78 阅读
相关 华为OD机试 - 字符串比较(Java) 题目描述 给定字符串A、B和正整数V,A的长度与B的长度相等, 请计算A中满足如下条件的最大连续子串的长度: 1. 该连续子串在A和B中的位置和长度均相同。 2. Myth丶恋晨/ 2024年03月17日 18:28/ 0 赞/ 48 阅读
相关 华为od机试 JavaScript 【切割字符串】 题目 给定一个由小写字母组成的字符串。请找出两个位置,将字符串分为三部分。这三部分的总和应该是相同的,其中每部分的总和是其字符的ASCII码值的总和。注意,这两个位置的字 r囧r小猫/ 2024年03月08日 07:34/ 0 赞/ 98 阅读
相关 华为od机试 Python 【切割字符串】 题目 给定一个由小写字母组成的字符串。请找出两个位置,将字符串分为三部分。这三部分的总和应该是相同的,其中每部分的总和是其字符的ASCII码值的总和。注意,这两个位置的字 快来打我*/ 2024年03月08日 07:34/ 0 赞/ 77 阅读
相关 华为od机试 C++ 【切割字符串】 题目 给定一个由小写字母组成的字符串。请找出两个位置,将字符串分为三部分。这三部分的总和应该是相同的,其中每部分的总和是其字符的ASCII码值的总和。注意,这两个位置的字 ╰+哭是因爲堅強的太久メ/ 2024年03月08日 07:34/ 0 赞/ 82 阅读
相关 华为od机试 Java 【切割字符串】 题目 给定一个由小写字母组成的字符串。请找出两个位置,将字符串分为三部分。这三部分的总和应该是相同的,其中每部分的总和是其字符的ASCII码值的总和。注意,这两个位置的字 傷城~/ 2024年03月08日 07:33/ 0 赞/ 91 阅读
相关 华为od机试 Python 【切割字符串】 题目 给定一个由小写字母组成的字符串。请找出两个位置,将字符串分为三部分。这三部分的总和应该是相同的,其中每部分的总和是其字符的ASCII码值的总和。注意,这两个位置的字 - 日理万妓/ 2023年10月15日 16:43/ 0 赞/ 42 阅读
相关 华为od机试 Java 【切割字符串】 题目 给定一个由小写字母组成的字符串。请找出两个位置,将字符串分为三部分。这三部分的总和应该是相同的,其中每部分的总和是其字符的ASCII码值的总和。注意,这两个位置的字 怼烎@/ 2023年10月15日 16:43/ 0 赞/ 63 阅读
还没有评论,来说两句吧...