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

LeetCode——1957. 删除字符使字符串变好

通过万岁!!!

  • 题目:给你一个字符串,然后让你删除几个字符串,让他变成好串,好串的定义就是不要出现连续的3个一样的字符。
  • 思路:首先就是要遍历字符串。我们将要返回的字符串定义为ret,我们需要定义一个变量tmp和一个字符ch,ch表示ret的最后一个字符,而tmp表示这个字符在ret的尾部重复的次数。如果遍历到i时,第i字符等于ch,然后看tmp+1是不是等于3了,如果等于3,则表示不能加入,则继续for循环就好了。如果不等于3,则表示这个字符串还可以继续加入到ret中。则进行加入即可。但是如果第i个字符不等于ch,则直接将其加入到ret中,并且将tmp设为1。
  • 技巧:字符串遍历

java代码

class Solution {public String makeFancyString(String s) {StringBuilder sb = new StringBuilder();int tmp = 1;char ch = s.charAt(0);sb.append(ch);for (int i = 1; i < s.length(); i++) {if (s.charAt(i) == ch) {if (tmp + 1 != 3) {tmp++;sb.append(ch);}} else {tmp = 1;ch = s.charAt(i);sb.append(ch);}}return sb.toString();}
}
  • 总结:这种题目跟爬楼梯的有些类似,都是要记录当前的这个位置的一些状态。
http://www.xdnf.cn/news/16448.html

相关文章:

  • 力扣---------238. 除自身以外数组的乘积
  • Ruby 数据库访问 - DBI 教程
  • Android-广播详解
  • Go-Elasticsearch v9 安装与版本兼容性
  • Flask input 和datalist结合
  • 图论:Dijkstra算法
  • Baumer工业相机堡盟工业相机如何通过YoloV8深度学习模型实现沙滩小人检测识别(C#代码UI界面版)
  • 【机器学习深度学习】LLamaFactory微调效果与vllm部署效果不一致如何解决
  • 手动开发一个串口调试工具(二):Qt 串口类基本认识与使用
  • 系统性提升大模型回复准确率:从 RAG 到多层 Chunk 策略
  • 人工智能论文辅导:Prompt Engineering(特征工程)
  • C++学习之深入学习模板(进阶)
  • 力扣 hot100 Day56
  • 深度学习入门(2)
  • J2EE模式---数据访问对象模式
  • JavaWeb项目(纯Servlet+JSP+前端三大件)入门(从0开始)
  • 传统框架与减震楼盖框架地震动力响应分析与有限元模拟
  • HashMap的线程安全性 vs ConcurrentHashMap
  • cacti漏洞CVE-2022-46169复现
  • JavaScript 中 let 在循环中的作用域机制解析
  • 智慧校园(智能出入口控制系统,考勤,消费机,电子班牌等)标准化学校建设,加速业务规模发展,满足学校、家长及学生对智能化、便捷化校园管理的需求清单如下
  • MyBatis-Plus极速开发指南
  • Ⅹ—6.计算机二级综合题11---14套
  • Spring 生态创新应用:现代架构与前沿技术实践
  • 2025年-ClickHouse 高性能实时分析数据库(大纲版)
  • GaussDB 数据库架构师修炼(九) 逻辑备份实操
  • 学习笔记《区块链技术与应用》第二天 共识机制
  • ESP32学习笔记_Peripherals(4)——MCPWM基础使用
  • cha的操作
  • LP-MSPM0G3507学习--11ADC之二双通道高速DMA采样