当前位置: 首页 > news >正文

祝福语【算法赛】

题目来源:第 27 场 蓝桥入门赛【算法题】

可以参考一下,本人也是比较菜

不喜勿喷,求求求

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String S = sc.nextLine();
        int max=0;
        int count=0;
        for (int i = 0; i < S.length(); i++) {
            if(S.charAt(i)=='a'){
                count++;
               max=Math.max(count,max);
              //  计算S中最多有多少个连续的a
            }
            else count=0;
        }
        for (int i = 0; i <= max; i++) {
            System.out.print('a');
        }
    }
}

分析

  1. 输入处理:

     Scanner sc = new Scanner(System.in);
     String S = sc.nextLine();

    这两行代码用于从标准输入读取一个字符串 SS

  2. 初始化变量:

     int max = 0;
     int count = 0;

    变量 max 用于记录字符串 SS 中连续出现的最多的 ‘a’ 的个数。变量 count 用于计数当前连续出现的 ‘a’ 的个数。

  3. 遍历字符串 S*S*:

     for (int i = 0; i < S.length(); i++) {
         if (S.charAt(i) == 'a') {
             count++;
             max = Math.max(count, max);
             // 计算S中最多有多少个连续的'a'
         } else {
             count = 0;
         }
     }

    这个循环遍历字符串 SS,检查每个字符是否为 ‘a’。如果是 ‘a’,则增加 count 并更新 maxcountmax 中的较大值。如果不是 ‘a’,则将 count 重置为 0。

  4. 输出结果:

     for (int i = 0; i <= max; i++) {
         System.out.print('a');
     }

    这个循环输出 max + 1 个 ‘a’。这是因为我们需要确保输出的字符串 TT 不是 SS 的子串,而 SS 中最多有 max 个连续的 ‘a’,所以输出 max + 1 个 ‘a’ 可以保证 TT 不是 SS 的子串。

总结

这段代码通过计算字符串 SS 中连续出现的最多的 ‘a’ 的个数,并输出比这个数量多一个的 ‘a’ 字符串作为 TT,从而保证了 TT 不是 SS 的子串,并且是字典序最小的可能字符串。

有更好的方法欢迎留言和交流

相关文章:

  • ESP32驱动OV3660摄像头实现物体轮廓识别(摄像头支持红外夜视、边缘AI计算)
  • C++常用函数
  • SpringBoot统一响应类型3.1.1版本
  • 初识大模型——大语言模型 LLMBook 学习(一)
  • 计算机网络传输层
  • 电子学会—2024年月6青少年软件编程(图形化)四级等级考试真题——水仙花数
  • Python 动态规划(DP)套路总结
  • UE5从入门到精通之如何创建自定义插件
  • (数据结构)双向链表
  • 2025-03-09 学习记录--C/C++-PTA 习题11-1 输出月份英文名
  • BEVDepth: Acquisition of Reliable Depth for Multi-view 3D Object Detection 论文阅读
  • 代码随想录算法训练营第八天|Leetcode 151.翻转字符串里的单词 卡码网:55.右旋转字符串 字符串总结 双指针回顾
  • 基于Spring3的抽奖系统
  • 通义千问:Qwen2.5-0.5B模型架构解释
  • 绘制列线图并解释线性模型的Python包-nomogram-explainer(记我的第一个pypi项目)
  • 配置多区域OSPF,配置OSPF手动汇总,配置OSPF特殊区域
  • IO多路复用实现并发服务器
  • 电路研究10——MPU6050电路搭建
  • InDraw6.2.3 | 甾体、核苷、黄酮类化合物实现简称命名
  • 模板注入Smarty
  • wordpress 没有样式/对网站提出的优化建议
  • 做网站接单的网站/b2b商务平台
  • 做网站哪个公司最/友博国际个人中心登录
  • 网站访问量怎么做/电脑培训班零基础
  • 网站返利二维码怎么做/百度seo排名主要看啥
  • 青岛商城网站建设设计/南宁seo结算