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

织梦网站制作费用北京中高端网站建设

织梦网站制作费用,北京中高端网站建设,青岛网站的优化,excel小程序商店✅ 关键点 count[] 表示的是“剩余出现次数”,在遍历每个字符时都要执行 count[c - a]--;,这是必须的步骤,不管该字符是否已经在栈中; 使用**单调栈(递增的字典序)**维护当前已选字符构成的“局部最优子结…

在这里插入图片描述


✅ 关键点

  1. count[] 表示的是“剩余出现次数”,在遍历每个字符时都要执行 count[c - 'a']--;,这是必须的步骤,不管该字符是否已经在栈中;

  2. 使用**单调栈(递增的字典序)**维护当前已选字符构成的“局部最优子结果”,最终逆序输出即可得到全局最优结果;

  3. 如果当前字符 不在栈中,那么就尝试把它加入栈;

    • 但加入前,有可能需要将字典序更大的字符弹出,让位给当前更小的字符,以满足字典序最小的目标;
    • 弹出操作的前提是:该字符 之后还会出现(通过 count[] 判断)
  4. 弹出时要记得将 inStack[] 标记为 false,加入时则标记为 true,以确保每个字符在栈中只出现一次。


✅ 可以这样总结这个“让位逻辑”:

当前字符要想成功“插队”,它必须比栈顶更小,而且栈顶字符不能是“最后一次机会”,这样才有资格被踢出。


✍️ 补充一句更直观的通俗解释:

你可以把这个过程类比为“最小字典序的选秀”:

  • 每个字符都想进最终的结果队伍(栈);
  • 如果一个新的候选人(当前字符)进来,发现他更“优秀”(字典序更小);
  • 那就要判断当前队伍里的末尾成员是否可以被替换掉:
    • 如果末尾成员 还会在之后出现,就可以被替换;
    • 否则就必须留下他(他已经是唯一一次出现了);
  • 最终构建出的是一支去重后最强(字典序最小)的队伍

java solution

class Solution {public String removeDuplicateLetters(String s) {//首先需要统计每个字符剩余出现次数int[] count = new int[26];boolean[] inStack = new boolean[26];for(char c : s.toCharArray()) {count[c - 'a']++;}//创建单调栈Deque<Character> stack = new ArrayDeque<>();//然后开始遍历for(char c : s.toCharArray()) {//首先更新count数组int index = c - 'a';count[index]--;if(inStack[index]) continue;while(!stack.isEmpty() && c < stack.peek() && count[stack.peek() - 'a'] > 0) {inStack[stack.pop() - 'a'] = false;}stack.push(c);inStack[c - 'a'] = true;}StringBuilder sb = new StringBuilder();while(!stack.isEmpty()) {sb.append(stack.pop());}return sb.reverse().toString();}
}

文章转载自:

http://7Hj2FSDY.yfcbf.cn
http://QtnSztJV.yfcbf.cn
http://q8sFo5ct.yfcbf.cn
http://Rv0iUBwN.yfcbf.cn
http://pLKi7QkU.yfcbf.cn
http://vnvPc8zo.yfcbf.cn
http://6fDwyFvA.yfcbf.cn
http://0m4SPIYq.yfcbf.cn
http://Ggi1Xkyp.yfcbf.cn
http://olkC1emx.yfcbf.cn
http://0vTHs9IQ.yfcbf.cn
http://eZyhjlol.yfcbf.cn
http://2CG6F3Mo.yfcbf.cn
http://YdyUdUcO.yfcbf.cn
http://S0nCVC1k.yfcbf.cn
http://AEmqrmGh.yfcbf.cn
http://N7TOdqUW.yfcbf.cn
http://Lb7Lfajq.yfcbf.cn
http://tvCZtSSU.yfcbf.cn
http://9tMOQOyx.yfcbf.cn
http://TIkeKcV2.yfcbf.cn
http://yGecRprf.yfcbf.cn
http://G4KWLxLh.yfcbf.cn
http://afiHVq1n.yfcbf.cn
http://ggIc5zxB.yfcbf.cn
http://xuqTX9ia.yfcbf.cn
http://P3HQa8Vk.yfcbf.cn
http://XLIqiuzg.yfcbf.cn
http://15sq7a6y.yfcbf.cn
http://cjsDHake.yfcbf.cn
http://www.dtcms.com/wzjs/710893.html

相关文章:

  • 网站后缀是xyz指得是什么wordpress简单论坛
  • 哪里可以学做网站做网站怎么回本
  • 建电商网站免费开发个人网站
  • 杭州手机申请网站登录php网站建设学习
  • 网站收录提交入口怎么做省建设厅网站6
  • 网站信息员队伍建设方案荆门住房建设厅网站
  • 擦边球做网站挣钱网站备案主体授权书
  • 深圳建设网站龙岗网站建设h5网站和响应式网站区别
  • 淘宝做网站推广人电话东莞企业营销型网站
  • 先有域名才可以做网站吗WordPress 同步网易博客
  • 网站安全检测可以监测哪些内容风险信息温岭网站开发
  • 沈阳成创网站建设公司网站推广常用的方法
  • 献县网站建设淘宝客网站做app
  • 莱州网站定制广告设计公司怎么样
  • 品牌网站建设预算苏州哪家做网站便宜
  • 网站配置伪静态怎么避免网站开发后门
  • 北京手机网站搭建费用自己如何创立网站
  • 快速网站排名网站建设人员工作职责
  • 网站的空间和域名是啥湖州培训网站建设网络营销
  • 西宁市住房和城乡建设局网站网站如何做淘宝支付宝
  • 用qq号码可以做网站吗柯林建站程序
  • 财经大学网站建设保定网站建设报价
  • 整套网站建设视频教程wordpress如何关闭网页
  • 设计师网站十大网站排名网推软件有哪些
  • 哪里有免费的网站模板下载 迅雷下载 迅雷下载软件网站费用估算
  • 专门做饥饿营销的网站花卉网站建设规划书
  • 兰州做网站一咨询兰州做网站公司网站空间就是虚拟主机吗
  • 备案网站简介怎么写陕西网站建设
  • 怎样将自己做的网站发布到外网上网络销售怎么样
  • 如何做网站网页表白淘宝网站建设情况