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

[USACO1.1] 坏掉的项链 Broken Necklace Java

import java.util.*;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();String str = sc.next();sc.close();str += str; // 模拟环形两端连接int max = 0;for (int i = 0; i < n; i++) {int l = i, r = i + 1;char lc = str.charAt(l), rc = str.charAt(r);if (lc == 'w') { // 往左查找到第一颗非白珠子int k = l - 1;while (k >= 0 && str.charAt(k) == 'w') k--;lc = k >= 0 ? str.charAt(k) : 'r'; // 找不到则默认红色}if (rc == 'w') { // 往右查找到第一颗非白珠子int k = r + 1;while (k < str.length() && str.charAt(k) == 'w') k++;rc = k < str.length() ? str.charAt(k) : 'b'; // 找不到则默认蓝色}int ans = 0;// 左端连续的非白珠子数while (l >= 0 && (str.charAt(l) == lc || str.charAt(l) == 'w')) {ans++;l--;}// 右端连续的非白珠子数while (r < n * 2 && (str.charAt(r) == rc || str.charAt(r) == 'w')) {ans++;r++;}max = Math.max(max, Math.min(ans, n)); // 取最大值同时防止ans超过总数n}System.out.println(max);}
}

每日一水~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

http://www.xdnf.cn/news/3981.html

相关文章:

  • C++ -- 内存管理
  • 探寻适用工具:AI+3D 平台与工具的关键能力及选型考量 (AI+3D 产品经理笔记 S2E03)
  • Java面试:微服务与大数据场景下的技术挑战
  • 《MATLAB实战训练营:从入门到工业级应用》高阶挑战篇-《5G通信速成:MATLAB毫米波信道建模仿真指南》
  • MySQL JOIN详解:掌握数据关联的核心技能
  • 【翻译、转载】【译文】模型上下文协议(Model Context Protocol, MCP)简介
  • java技术总监简历模板
  • Q_OBJECT宏的作用
  • 3.9/Q2,Charls最新文章解读
  • 基于 AI 的人像修复与编辑技术:CompleteMe 系统的研究与应用
  • 网络编程,使用select()进行简单服务端与客户端通信
  • 56、【OS】【Nuttx】编码规范解读(四)
  • NV214NV217美光闪存固态NV218NV225
  • Jasper and Stella: distillation of SOTA embedding models
  • P1802 5 倍经验日
  • 【AI提示词】 复利效应教育专家
  • Python实例题:Python获取NBA数据
  • 大连理工大学选修课——图形学:第三四章 基本图形生成算法
  • 低速总线:IIC和SMBUS
  • JAVA---继承
  • avx指令实现FFT
  • 【Linux系统】互斥量mutex
  • 当SONiC遇到CPO,SONiC对共封装光接口的管理
  • 在两个bean之间进行数据传递的解决方案
  • langchain中 callbacks constructor实现
  • 如何使用python保存字典
  • **马小帅面试记:Java技术问答**
  • 邮件协议、签名与推送
  • Learning vtkjs之MultiSliceImageMapper
  • 【C++】Docker常用语法