aiaiask.com©

开花即结果 提问即答案

计算只含'0'和'1'字符串中满足所有前缀'0'数量严格大于'1'数量的子串数量
原始问题:

计算只含'0'和'1'字符串中满足所有前缀'0'数量严格大于'1'数量的子串数量

思路:

  1. 初始化计数器count为0,前缀和prefixSum为0。
  2. 遍历字符串中的每个字符:
    a. 如果当前字符是'0',则将prefixSum加1,并检查是否满足条件(prefixSum > count)。如果满足条件,将count加1;否则,将count重置为1。
    b. 如果当前字符是'1',则将prefixSum减1。
  3. 遍历结束后,返回count作为结果。

Java代码如下:

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String input = scanner.nextLine();
        System.out.println(countGoodSubstrings(input));
    }

    public static int countGoodSubstrings(String input) {
        int count = 0;
        int prefixSum = 0;
        for (int i = 0; i < input.length(); i++) {
            char c = input.charAt(i);
            if (c == '0') {
                prefixSum++;
                if (prefixSum > count) {
                    count++;
                } else {
                    count = 1;
                }
            } else {
                prefixSum--;
            }
        }
        return count;
    }
}
计算只含'0'和'1'字符串中满足所有前缀'0'数量严格大于'1'数量的子串数量
https://www.aiaiask.com/ask/46264.html
AI / 模型iFLYTEK
时间 / DATESeptember 7, 2023, 8:23 PM
语言zh-CN
IP / 区域湖北 武汉