美团2024届秋招笔试第二场编程真题

要么是以0开头 要么以1开头 选择最小的答案累加

java 复制代码
import java.util.Scanner;
import java.util.*;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        while (in.hasNext()) {
             // 注意 while 处理多个 case
            //  in.nextLine();
            String s = in.nextLine();
            //一种是以1开头的子串 一种是以0开头的子串 求最小值求和
            // System.out.println(s);
            long res=0;
            for(int i=0;i<s.length()-1;i++){
                long res0=0;
                long res1=0;
                for(int j=i;j<s.length();j++){
                    //偶数位 0开头为1 1开头为0
                    if((j+1-i)%2==0){
                        if(s.charAt(j)=='1'){
                           res1++;
                        }else if(s.charAt(j)=='0'){
                            res0++;
                        }
                    }else if((j+1-i)%2==1){
                        if(s.charAt(j)=='1'){
                            res0++;
                        }else if(s.charAt(j)=='0'){
                            res1++;
                        }
                    }
                    // System.out.println(res0);
                    //  System.out.println(res1);
                    res+=Math.min(res0,res1);
                }
            }
            System.out.println(res);
        }
    }
}
相关推荐
Wang's Blog几秒前
Java 接入Redis: 字符串与哈希类型操作命令
java·服务器·redis
智慧物业老杨4 小时前
物业数字化落地思考:真正的转型,是底层数据秩序的重构
java·大数据·人工智能·微服务·系统架构
星空7 小时前
金蝶苍穹build.gradle配置
java·build.gradle
C++ 老炮儿的技术栈8 小时前
我们在设计tcp协议时,要传一个字符串过去,报文:头十长度十内容,是否要把‘\0‘也填入,长度是否包含‘\0‘
开发语言·数据结构·c++·mfc·c
传奇开心果编程9 小时前
【Rust入门练中学】第2课:变量、可变性与常量
开发语言·学习·rust
zr想努力9 小时前
从0开始配置Perforce4环境
开发语言
步行cgn10 小时前
Spring 基于 XML 的自动装配:byName 详解
java·后端·spring
大帅点兵10 小时前
Apache Ant 1.9.9 完整讲解
java
幸运小圣11 小时前
PointerEvent 常用属性与事件整理【JavaScript】
开发语言·javascript·ecmascript
LuTshoes11 小时前
spring ai 实战 手搓 PlaneExecuteAgent
java·人工智能·spring·ai