万普插件库

jQuery插件大全与特效教程

Python 实现【字符串划分】(python字符串常用的五种方法)

def find_split_points(s):
    total = sum(ord(c) for c in s)
    if total % 3 != 0:
        return "0,0"
    target = total // 3
    n = len(s)
    sum1 = 0
    first = -1
    second = -1
    
    # 寻找第一个分割点
    for i in range(n):
        sum1 += ord(s[i])
        if sum1 == target:
            first = i
            break
    if first == -1 or first >= n - 2:
        return "0,0"
    
    # 寻找第二个分割点
    sum2 = 0
    for j in range(first + 1, n):
        sum2 += ord(s[j])
        if sum2 == target:
            second = j
            break
    if second == -1 or second >= n - 1:
        return "0,0"
    
    # 验证第三部分
    sum3 = sum(ord(c) for c in s[second + 1:])
    if sum3 == target:
        return f"{first + 1},{second + 1}"
    else:
        return "0,0"

# 读取输入
s = input().strip()
# 计算并输出结果
print(find_split_points(s))

代码解释

  1. 计算总权重:使用sum(ord(c) for c in s)计算字符串所有字符的ASCII值之和。
  2. 检查总和是否能被3整除:如果不能整除,直接返回"0,0"。
  3. 寻找第一个分割点:从左到右遍历字符串,累加字符的ASCII值,直到等于总和的1/3,记录位置。
  4. 寻找第二个分割点:从第一个分割点的下一个位置开始继续遍历,累加字符的ASCII值,直到等于总和的1/3,记录位置。
  5. 验证第三部分:确保剩余部分的权重也等于总和的1/3,如果满足条件,返回分割点位置(注意题目要求的位置下标是从1开始的,所以需要加1)。


控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言