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

【简单】字符串的统计字符串-Java:补充问题

分享一个大牛的人工智能教程。零基础通俗易懂风趣幽默希望你也加入到人工智能的队伍中来请轻击人工智能教程大家好欢迎来到我的网站 人工智能被认为是一种拯救世界、终结世界的技术。毋庸置疑人工智能时代就要来临了科… 继续阅读 前言https://www.captainai.net/troubleshooterpackage live.every.day.ProgrammingDesign.CodingInterviewGuide.String; /** * 字符串的统计字符串 * * 【题目】 * 给定一个字符串str返回str的统计字符串。例如aaabbadddffc的统计字符串为a_3_b_2_a_1_d_3_f_2_c_1。 * * 【补充题目】 * 给定一个字符串的统计字符串cstr再给定一个整数index返回cstr所代表的原始字符串上的第index个字符。例如 * a_1_b_100所代表的原始字符串上第0个字符是a第50个字符是b。 * * 【难度】 * 简单 * * 【解答】 * 补充问题。求解的具体过程如下 * * 1.布尔型变量stagestage为true表示目前处在遇到字符的阶段stage为false表示目前处在遇到连续字符统计的阶段。字符型 * 变量cur表示在上一个遇到字符阶段时遇到的是cur字符。整型变量num表示在上一个遇到连续字符统计的阶段时字符出现的 * 数量。整型变量sum表示目前遍历到cstr的位置相当于原字符串的什么位置。初始时stagetruecur0字符编码为0表示空 * 字符num0sum0。 * 2.从左到右遍历cstr。也就是说每遇到一个新的字符都把上一个己经完成的统计数num加到sum上再看sum是否到达index如 * 果己到达就返回上一个字符cur如果没到达就继续遍历。 * 3.每个字符的统计都在遇到新字符时加到sum上所以当遍历完成时最后一个字符的统计数并不会加到sum上最后要单独加。 * * 具体过程请参看如下代码中的getCharAt方法。 * * author Created by LiveEveryDay */ public class StatisticalStringOfString2 { public static char getCharAt(String cstr, int index) { if (cstr null || cstr.equals()) { return 0; } char[] chs cstr.toCharArray(); boolean stage true; char cur 0; int num 0; int sum 0; for (int i 0; i ! chs.length; i) { if (chs[i] _) { stage !stage; } else if (stage) { sum num; if (sum index) { return cur; } num 0; cur chs[i]; } else { num num * 10 chs[i] - 0; } } return sum num index ? cur : 0; } public static void main(String[] args) { String cstr a_100_b_2_c_4; int index 105; System.out.printf(The character is: %c, getCharAt(cstr, index)); } } // ------ Output ------ /* The character is: c */
http://www.rkmt.cn/news/1310425.html

相关文章:

  • RPG Maker MV/MZ游戏资源解密工具:5分钟解锁游戏素材的完整指南
  • 从斯坦福兔子到你的项目:Open3D处理PLY/STL/PCD格式互转的避坑指南
  • Freeplane思维导图模板:3分钟打造专业级思维可视化作品
  • 3分钟搞定全网音乐歌词:163MusicLyrics免费工具完整指南
  • top25-parameter项目贡献指南:如何参与参数库的维护与扩展
  • 倒置荧光显微镜生产厂家有哪些 - 实了个验
  • 如何快速掌握Audacity:免费音频编辑神器的完整入门指南
  • 告别安卓模拟器!APK Installer:在Windows上直接安装安卓应用的5个创新解决方案
  • 2026 年 5 月最新天津离婚律所测评,坚守抚养权底线 - 速递信息
  • Deepin Boot Maker终极指南:3分钟制作完美启动盘的免费神器
  • PTAOOP前三次作业分析与总结
  • zen-rails-security-checklist测试策略:安全测试用例与自动化扫描
  • 3个常见视频下载难题,猫抓扩展如何帮你一键解决?浏览器资源嗅探实战指南
  • MKS Robin Nano Marlin 2.0固件架构解析与性能调优指南
  • 基于n8n的LinkedIn自动化求职工作流:从原理到实战部署
  • 深入解析Noah-MP陆面模型:从科学原理到实战部署
  • 10分钟极速入门:Retrieval-based-Voice-Conversion-WebUI语音克隆完整教程
  • 初创团队如何利用Taotoken的Token Plan控制AI开发成本
  • Windows资源管理器STL缩略图革命:3D模型可视化管理的终极解决方案
  • AionUi:专为AI应用设计的现代化前端组件库实战指南
  • 不只是安装:用geemap和本地Jupyter Notebook玩转GEE数据可视化与快速分析
  • 从 Computer Use到 Datacenter Use:如何让 AI Agent 像调用函数一样驱动数据中心?
  • ASO技能库构建指南:从基础原理到实战应用
  • 智慧养老系统数据监控大屏:可视化呈现
  • 中兴B860AV2.1刷机后必做的5件事:开启ADB、更换当贝桌面、冻结内置应用,让你的盒子再战三年
  • Qwen-Audio评测全解析:12个基准测试的SOTA表现
  • 重庆众申机电设备:万州发电机租赁哪家好 - LYL仔仔
  • 长期使用Taotoken聚合服务对开发运维效率的提升感受
  • DLT Viewer:面向汽车电子系统的分布式日志诊断与实时监控技术方案
  • Git 核心操作:rebase 与 merge 的区别,以及分支管理最佳实践