qcode
  • 创作工场专业版,一问多答!更智能、更完整、更原创
  • 这是一个超强内容创作平台,它会写文章、做设计、绘图、敲代码,有问必答!
🔥点击使用-免登录深度版🔥

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

时间2023-09-07 20:23:23 提问来自 湖北省武汉市 的网友 分类创作 浏览381
思路: 1. 初始化计数器count为0,前缀和prefixSum为0。 2. 遍历字符串中的每个字符: a. 如果当前字符是'0',则将prefixSum加1,并检查是否满足条件(prefixSum > count)。如果满足条件,将count加1;否则,将count重置为1。 b. 如果当前字符是'1',则将prefixSum减1。 3. 遍历结束后,返回count作为结果。 Java代码如下: ```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; } } ```

不满意?免费深度重写!

免责声明:
以上内容除特别注明外均来源于网友提问,创作工场回答,未经许可,严谨转载。

上一篇 在市场监督管理局实习多做了什么事,有什么收获 下一篇 电极丝有哪些方面的性能需要检测