网站首页 > java教程 正文
技术提高是一个循序渐进的过程,所以我讲的leetcode算法题从最简单的level开始写的,然后到中级难度,最后到hard难度全部完。目前我选择C语言,Python和Java作为实现语言,因为这三种语言还是比较典型的。由于篇幅和精力有限,其他语言的实现有兴趣的朋友请自己尝试。
如果有任何问题可以在文章后评论或者私信给我。
如果有朋友希望我讲些其他话题,请在评论区留言或者私信给我。
持续分享,敬请关注。
LeetCode 1221. 分割平衡字符串中的字符串(Split a String in Balanced Strings)
问题描述:
平衡字符串是指具有相等数量的" L"和" R"字符的字符串。
给定一个平衡的字符串 s,需要将其拆分为最大数量的平衡子字符串。
返回可以拆分的平衡字符串的最大数量。
注:
- 1 <= s.length <= 1000;
- s[i] = 'L' or 'R';
示例:
C语言实现:
这道题非常简单。根据题目描述和题目提供的三个示例,我们会发现,我们只要从左往右查找,找到一个平衡字符串,结果就加1,然后从这个位置继续向后查找,最后的总数就是我们要的结果。
这样题目就转化成,如何找出一个平衡字符串。
按照题目的描述,平衡字符串就是有相同数量的'R' 和'L'。那么我们的算法可以这样做:
定义一个变量isBalance初始化为0,然后遍历字符串,当遇到'R'时加1,遇到'L'时减一。那么如果某一时刻isBalance重新等于0的时候,就说明前面遍历的字符组成的字符串是一个平衡字符串。
所以最终代码如下:
Java语言实现:
Java 的实现和C语言的实现一致,不再撰述。
代码如下:
Python语言实现:
Python 的实现和C语言的实现一致,不再撰述。
代码如下:
- 上一篇: 字符串处理:分割,连接,填充
- 下一篇: MySQL项目查询结果及字符串操作之多行合并与单行分割
猜你喜欢
- 2024-11-18 「LeetCode」数组拆分Java题解
- 2024-11-18 「Java基础知识」string是什么?
- 2024-11-18 Java设置字符串的首字母为大写
- 2024-11-18 100个Java工具类之2:字符串之多种个性化格式处理
- 2024-11-18 LeetCode力扣官方题解|842将数组拆分成斐波那契序列
- 2024-11-18 JAVA之多级目录下查找文件中是否含有某个字符串功能实现
- 2024-11-18 从字符串拆分获取字符数组查看字符串是否有子字符串contains方法
- 2024-11-18 Java—Throwing Exceptions
- 2024-11-18 JAVA String类
- 2024-11-18 JAVA系列之:String的特点是什么?它有哪些重要的方法?
你 发表评论:
欢迎- 最近发表
-
- 搞趣网:我的世界全新皮肤包原始居民下载地址
- 我的世界拔刀剑MOD下载(我的世界拔刀剑mod下载国际版)
- 我的世界无正版账号的简单联机方法(非网易版,仅适用于局域网)
- 一些可以显著提高大型 Java 项目启动速度的尝试
- 常见的java敏感异常介绍(java 常见的异常)
- Java 开发者必看!三招实现外部 Jar 包动态加载(含热更新方案)
- Java JAR 启动内存参数配置指南:从基础设置到性能优化
- 对Spring MVC接口进行Mock测试(springmvc对外接口)
- 还在用策略模式解决 if-else?Map+函数式接口方法才是YYDS
- 干掉OpenFeign,SpringBoot 3.0 自带的 HTTP 客户端真香!
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)