牛客周赛72:B:JAVA

ops/2024/12/18 18:12:38/

链接:登录—专业IT笔试面试备考平台_牛客网
来源:牛客网
 

题目描述

小红定义一个字符串是好串,当且仅当该字符串任意一对相邻字符都不同。
现在小红拿到了一个01串,请你帮小红求出有多少个长度不小于2的连续子串是好串。
 

输入描述:

一个长度不超过200000的字符串,仅由'0'和'1'组成。

输出描述:

输出相邻字符均不同的连续子串数量。

示例1

输入

01011

输出

6

代码:

import java.util.Scanner; // 导入Scanner类,用于获取用户输入

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in); // 创建Scanner对象,用于读取控制台输入
        String s = in.next(); // 读取一个字符串
        long ans = 0; // 初始化答案变量为0
        long p = 0; // 初始化连续不同字符的计数器为0   
        // 遍历字符串中的每个字符,除了最后一个字符
        for(int i=0; i<s.length()-1; i++){
            // 如果当前字符与下一个字符不相同
            if(s.charAt(i) != s.charAt(i+1)){
                p++; // 增加连续不同字符的计数器
            } else {
                // 如果当前字符与下一个字符相同,计算到目前为止的连续不同字符子串的数量
                ans += (p*(p+1))/2;
                p = 0; // 重置连续不同字符的计数器
            }
        }
        // 输出最终结果,加上最后一组连续不同字符子串的数量
        System.out.println(ans + (p*(p+1))/2);
    }
}


http://www.ppmy.cn/ops/142974.html

相关文章

运行 Mongodb Server

如何使用 mongod 命令通过配置文件启动 MongoDB Server 适用于通过 Homebrew 安装的 MongoDB Server 如果您的 MongoDB Server 是通过 Homebrew 安装的&#xff0c;则安装过程中会自动创建必要的文件夹和配置文件&#xff08;如 mongod.conf&#xff09;。您可以直接使用以下…

MVC前后端交互案例--留言板

API-约定前后端交互接⼝ 约定 " 前后端交互接⼝ " 是进⾏ Web 开发中的关键环节. 接⼝⼜叫 API&#xff08;Application Programming Interface), 我们⼀般讲到 接⼝或者 API&#xff0c; 指的都是同⼀个东西。 是指应⽤程序对外提供的服务的描述, ⽤于 交换信息和执…

登陆harbor发现证书是错误的, 那么如何更新harbor的证书呢

Error response from daemon: Get "https://172.16.21.35/v2/": tls: failed to verify certificate: x509: certificate is valid for 127.0.0.1, ::1, 172.16.21.30, not 172.16.21.35 版本 v2.10.1-b7b88476 不需要从头看, 直接看最下面的成功的证书创建 这里面首…

23.DDD与微服务

学习视频来源&#xff1a;DDD独家秘籍视频合集 https://space.bilibili.com/24690212/channel/collectiondetail?sid1940048&ctype0 文章目录 DDD与微服务的关系1. DDD可以用微服务实现&#xff0c;也可以不用微服务实现2. DDD是微服务拆分的必须参考项之一3. 微服务架构…

el-select多选设置默认值且默认值不可删除

需求 <el-select>多选时&#xff0c;需要设置默认值&#xff0c;且默认值不可删除&#xff0c;但手动勾选的值可以删除。 实现原理 在el-select框中隐藏默认值的el-tag后面的叉在option中置灰默认值的选项使其不可被操作 代码实现 新建一个自定义指令&#xff0c;并在<…

学习笔记071——Java中的【线程】

文章目录 1、基础2、进程和线程3、什么是多线程4、Java 中线程的使用5、Java 中创建线程的方式5.1、继承 Thread 类5.2、实现 Runnable 接口5.3、继承 Thread 和实现 Runnable 接口的区别5.4、实现 Runnable 接口的优化 6、线程的状态7、线程调度7.1、线程休眠7.2、线程合并7.3…

selenium自动化测试基础知识

目录 一、概念知识 (一)三大核心组件 (二)Selenium 自动化测试的工作原理 (三)Selenium 支持的操作 (四)Selenium 自动化测试的优点 (五)Selenium 自动化测试的缺点 (六)Selenium 自动化测试的应用场景 总结 二、实操例子 使用前提--安装步骤 注意事项 (一)浏览器的…

LruCache(本地cache)生产环境中遇到的问题及改进

问题&#xff1a;单机qps增加时请求摘要后端&#xff0c;耗时也会增加&#xff0c;因为超过了后端处理能力&#xff08;最大qps&#xff0c;存在任务堆积&#xff09;。 版本一 引入LruCache。为了避免数据失效&#xff0c;cache数据的时效性要小于摘要后端物料的更新时间&…