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

秦皇岛建设网招聘信息seo是什么意思知乎

秦皇岛建设网招聘信息,seo是什么意思知乎,网站 后台 安装,网站建设代理都有哪些给你一个字符串 s ,请你去除字符串中重复的字母,使得每个字母只出现一次。需保证 返回结果的字典序最小(要求不能打乱其他字符的相对位置)。 示例 1: 输入:s “bcabc” 输出:“abc” 示例 2&am…

给你一个字符串 s ,请你去除字符串中重复的字母,使得每个字母只出现一次。需保证 返回结果的字典序最小(要求不能打乱其他字符的相对位置)。

示例 1:

输入:s = “bcabc”
输出:“abc”

示例 2:

输入:s = “cbacdcbc”
输出:“acdb”

提示:

1 <= s.length <= 10^4
s 由小写英文字母组成

解题思路:

1、大于O(n ^ 2)时间复杂度的算法会超时

2、由于要输出字典序最小的排列,所以字典序越小的字符就我设法让其排在前面,这就是贪心思维

3、需要栈辅助,即栈顶元素比添加进来的元素大,那么设法消掉此栈顶元素

4、需要index数组保留字符最后一次出现的位置,以便删掉栈顶元素使用

5、需要boolean类型数组判断新添元素是否在栈内存在

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

代码:

class Solution {public String removeDuplicateLetters(String s) {char a[] = s.toCharArray();int len = a.length;int index[] = new int [26]; for(int i = 0; i < len; i ++) index[a[i] - 'a'] = i;//记录每个字母最后出现的位置;boolean check[] = new boolean [26];Deque<Character> stack = new ArrayDeque<>();for(int i = 0; i < len; i ++) {if(!check[a[i] - 'a']) {//如果栈内没有,就选择添加while(!stack.isEmpty() && stack.peekLast() > a[i] && index[stack.peekLast() - 'a'] > i) {//如果添加的元素比栈顶小char c = stack.removeLast();check[c - 'a'] = false;}stack.add(a[i]);check[a[i] - 'a'] = true;}}StringBuffer s1 = new StringBuffer();for(char d : stack) s1.append(d);return s1.toString();}
}

在这里插入图片描述

http://www.hengruixuexiao.com/news/42474.html

相关文章:

  • 建设假网站典型十大优秀网络营销案例
  • 免费稳定网站空间网络推广与网络营销的区别
  • 哪个做app的网站好网站推广软件哪个最好
  • 怎么查网站有没有做底部导航北京网站推广服务
  • 网站标签怎样修改seo外包网络公司
  • 网站建设需要哪些资料搜索引擎优化的特点
  • 怎样做网站变手机软件如何提高网站排名
  • 企业邮箱怎么注册免费版seo分析案例
  • 关于建设校园网站的毕业论文企业宣传软文范例
  • 营销型网站建设方案seo托管
  • 河南智慧团建网站登录宁波seo外包平台
  • 做视频网站投入要多少seo外链优化策略
  • 自己做的手工放在哪个网站卖友情链接网站源码
  • 网站开发禁止下载功能代做seo关键词排名
  • 网站建设咨询电话怎么接广告推广
  • 品牌网站建设小蝌蚪seo网站自动发布外链工具
  • 关于网站制作报价免费入驻的电商平台
  • 绵阳市住房和城乡建设委员会网站网址链接查询
  • 九五至尊娱乐场网站黑帽友情链接
  • 网站 线框图什么是交换链接
  • 天天新网站2345网址导航官网官方电脑版
  • 做网站的语言有哪些维普网论文收录查询
  • 免费做名片的网站网络推广竞价是什么
  • 江苏江都建设集团有限公司官方网站合肥网络营销公司
  • 编程项目实例网站宁波正规优化seo价格
  • 怎么把wordpressseo推广网站
  • 乡村两级先锋网站建设网推什么意思
  • 全国部分高校精品课程建设网站怎么联系百度人工客服
  • 沈阳网站建设技术公司排名2023年火爆的新闻
  • 网站开发项目外包百度ai入口