ECNU 2820 围栏
ECNU 2820 围栏
链接
https://acm.ecnu.edu.cn/problem/2820
题目
单点时限: 2.0 sec
内存限制: 256 MB
一串连续字符被称作围栏当且仅当它由间隔的 | 和 - 组成。比如 |-|-|-| 或 -|-|。注意 |-||-| 或者 -- 不是围栏,因为每个都包含了两个或两个以上的相同连续字符。给你一个字符串,请找出它的最长的一个可以称作围栏的子串长度。
输入格式
一个长度为 n 的字符串 , 只包含 |、- 字符。
输出格式
在一行中输出最长的围栏长度值。
样例
input
|||-||--|--|---|-||-|-|-|--||---||-||-||-|--||
output
8
提示
单独的一个|或- 字符算作长度为 1 的围栏。
思路
只需要遍历即可,从头到尾,若这一个和上一个不同,就在当前长度上+1,若相同,就重置长度为1,最后用max记录途中的最大值。
代码
public static void fun() {
Scanner sc = new Scanner(System.in);
String line = sc.next();
StringBuffer sb = new StringBuffer(line);
int len = sb.length();
int n = 1;
int max = 1;
char tmp = sb.charAt(0);
for (int i = 1; i < len; i++) {
if (sb.charAt(i) != tmp) {
n++;
if (n > max) {
max = n;
}
} else {
n = 1;
}
tmp = sb.charAt(i);
}
if (len == 0) {
max = 0;
}
System.out.print(max);
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)