leetcode:1422. 分割字符串的最大得分(python3解法)

难度:简单

给你一个由若干 0 和 1 组成的字符串 s ,请你计算并返回将该字符串分割成两个 非空 子字符串(即 子字符串和 子字符串)所能获得的最大得分。

「分割字符串的得分」为 子字符串中 0 的数量加上 子字符串中 1 的数量。

示例 1:

复制代码
输入:s = "011101"
输出:5 
解释:
将字符串 s 划分为两个非空子字符串的可行方案有:
左子字符串 = "0" 且 右子字符串 = "11101",得分 = 1 + 4 = 5 
左子字符串 = "01" 且 右子字符串 = "1101",得分 = 1 + 3 = 4 
左子字符串 = "011" 且 右子字符串 = "101",得分 = 1 + 2 = 3 
左子字符串 = "0111" 且 右子字符串 = "01",得分 = 1 + 1 = 2 
左子字符串 = "01110" 且 右子字符串 = "1",得分 = 2 + 1 = 3

示例 2:

复制代码
输入:s = "00111"
输出:5
解释:当 左子字符串 = "00" 且 右子字符串 = "111" 时,我们得到最大得分 = 2 + 3 = 5

示例 3:

复制代码
输入:s = "1111"
输出:3

提示:

  • 2 <= s.length <= 500
  • 字符串 s 仅由字符 '0''1' 组成。

题解:

python 复制代码
class Solution(object):
    def maxScore(self, s):
        res = []
        for i in range(len(s)):
            a = [s[0:i+1],s[i+1:len(s)]]
           
            res.append(a[0].count('0')+a[1].count('1'))
        res.pop(-1)
        return max(res)
相关推荐
程序员buddha4 小时前
C语言数组详解
c语言·开发语言·算法
fish_study_csdn4 小时前
Python内存管理机制
开发语言·python·c python
蒙奇D索大5 小时前
【算法】递归算法的深度实践:从布尔运算到二叉树剪枝的DFS之旅
笔记·学习·算法·leetcode·深度优先·剪枝
卡提西亚6 小时前
C++笔记-25-函数模板
c++·笔记·算法
ghie90906 小时前
MATLAB/Simulink水箱水位控制系统实现
开发语言·算法·matlab
java1234_小锋6 小时前
[免费]基于Python的农产品可视化系统(Django+echarts)【论文+源码+SQL脚本】
python·信息可视化·django·echarts
Danceful_YJ6 小时前
31.注意力评分函数
pytorch·python·深度学习
多多*6 小时前
分布式系统中的CAP理论和BASE理论
java·数据结构·算法·log4j·maven
yuan199976 小时前
基于粒子群优化(PSO)算法的PID控制器参数整定
算法
程序员三藏7 小时前
快速弄懂POM设计模式
自动化测试·软件测试·python·selenium·测试工具·设计模式·职场和发展