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

Java | Leetcode Java题解之第316题去除重复字母

题目:

题解:

class Solution {public String removeDuplicateLetters(String s) {boolean[] vis = new boolean[26];int[] num = new int[26];for (int i = 0; i < s.length(); i++) {num[s.charAt(i) - 'a']++;}StringBuffer sb = new StringBuffer();for (int i = 0; i < s.length(); i++) {char ch = s.charAt(i);if (!vis[ch - 'a']) {while (sb.length() > 0 && sb.charAt(sb.length() - 1) > ch) {if (num[sb.charAt(sb.length() - 1) - 'a'] > 0) {vis[sb.charAt(sb.length() - 1) - 'a'] = false;sb.deleteCharAt(sb.length() - 1);} else {break;}}vis[ch - 'a'] = true;sb.append(ch);}num[ch - 'a'] -= 1;}return sb.toString();}
}
http://www.lryc.cn/news/413321.html

相关文章:

  • Taro学习记录
  • Spring Cache框架详解
  • 解决Html iframe 内嵌video标签导致视频无法全屏展示的问题
  • 谷粒商城实战笔记-110~114-全文检索-ElasticSearch-查询
  • 【开源】嵌入式Linux(IMX6U)应用层综合项目(1)--云平台调试APP
  • AI人工智能分析王楚钦球拍被踩事件的真相
  • C++客户端Qt开发——多线程编程(一)
  • 安装pnpm
  • CSS平移实现双开门效果
  • 3096. 得到更多分数的最少关卡数目
  • AGI思考探究的意义、价值与乐趣Ⅳ
  • 《数据结构》(C语言版)第1章 绪论(上)
  • 【Pyhton】数据类型之详讲字符串(上)
  • 算法小白的进阶之路(力扣6~8)
  • 【期货】收盘点评。昨天说的,p2409棕榈油在今天或者周一会走出行情
  • LBS 开发微课堂|Polyline绘制优化:效果更丰富,性能更佳!
  • VS Code设置C++编译器路径
  • laravel项目配置
  • Python试讲
  • RESTful API
  • NEEP-EN2-2020-Text1
  • 摩托罗拉E6系统研究
  • Spring中,ApplicationContext主要的实现类型包括?
  • JavaScript青少年简明教程:事件及处理
  • node_exporter
  • 近期在看
  • C++篇:C++入门基础(1)
  • 【Linux】网络编程_3
  • Kafka设计与原理详解
  • IPV6公网暴露下的OPENWRT防火墙安全设置(只允许访问局域网中指定服务器指定端口其余拒绝)