Leetcode刷题笔记题解(C++):1422. 分割字符串的最大得分

Leetcode刷题笔记题解(C++):1422. 分割字符串的最大得分_第1张图片

思路一:常规暴力做法,直接按要求去分割字符串然后求得分值,最后比较求出最大的得分值即可。

代码如下:

class Solution {
public:

    //暴力求解、对于所有的情况按题要求拆分进行最大值的获取
    int maxScore1(string s) {
        int size=s.length();
        int max_score=0;
        for(int i=1;i

思路二:得到字符串中1的个数,用left来记左边得分值,用right记右边得分值(初试为字符串中1的个数),依次再遍历字符串中字符,如果当前字符为'0' 则left++,如果为'1',则right--;

代码如下:

class Solution {
public:
    //非暴力求解
    int maxScore(string s) {
        int size=s.length();
        int right=0,left=0;
        //统计整个字符串中'1'的个数
        for(int i=0;i

 

你可能感兴趣的:(Leetcode算法题解)