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

网站域名切换/软文营销网

网站域名切换,软文营销网,长沙疫情最新情况分布图,广西网站建设哪家好最小字典序模版 最小字典序单调栈思路解析 1. 问题定义 给定一个字符串 num 和一个整数 k,要求移除 k 个字符后,使剩下的字符串是所有可能结果中字典序最小的。 2. 关键观察 字典序特性:高位字符对字典序的影响大于低位字符。 贪心选择&…

最小字典序模版

最小字典序单调栈思路解析

1. 问题定义

给定一个字符串 num 和一个整数 k,要求移除 k 个字符后,使剩下的字符串是所有可能结果中字典序最小的。

2. 关键观察
  • 字典序特性:高位字符对字典序的影响大于低位字符。

  • 贪心选择:为了得到最小字典序,应尽可能让高位字符保持较小值。

3. 单调栈的作用
  • 维护单调递增栈:栈中存储字符,保证栈顶到栈底字符单调递增。

  • 移除策略

    • 当当前字符 s 小于栈顶字符且还可以移除字符(k > 0)时,弹出栈顶字符(相当于移除一个字符)。

    • 这样可以确保高位字符尽可能小。

4. 特殊处理
  • 前导零:如果栈为空且当前字符是 '0',则不压入栈(避免前导零)。

  • 剩余移除:如果遍历完字符串后仍有 k > 0,直接从栈末尾移除 k 个字符(因为此时栈是单调递增的,末尾字符较大)。

#include <string>
#include <stack>
using namespace std;class Solution {
public:string removeKdigits(string num, int k) {string stk;  // 用字符串模拟单调栈for (char s : num) {// 当还能移除(k>0)、栈非空且栈顶字符>当前字符时,弹出栈顶while (k > 0 && !stk.empty() && stk.back() > s) {stk.pop_back();k--;}// 避免前导零:栈为空时不压入'0'if (!(stk.empty() && s == '0')) {stk.push_back(s);}}// 处理剩余的k(移除末尾的k个字符)while (k-- > 0 && !stk.empty()) {stk.pop_back();}// 栈为空时返回"0",否则返回栈内容return stk.empty() ? "0" : stk;}
};

经典例题907. 子数组的最小值之和 - 力扣(LeetCode)

本文参考了力扣的灵山爱抚茶的题单分享|【算法题单】单调栈(矩形面积/贡献法/最小字典序)- 讨论 - 力扣(LeetCode)

http://www.whsansanxincailiao.cn/news/31943046.html

相关文章:

  • 湖北网站建设搭建/最新新闻播报
  • 中文免费网站模板/站内优化怎么做
  • 上网建站推广/网站排名优化客服
  • 可以做砍价活动的网站/中国万网官网登录
  • 高端网站建设设计公司/南昌seo优化公司
  • 怎样在b2b网站做推广有效果/青岛百度推广seo价格
  • 承德网站建设作用/手机百度高级搜索
  • 个人网站用react做/搜狗官网
  • 公司做网站哪里做/十大软件培训机构
  • 小程序开发一个要多少钱/上海抖音seo
  • 常州外贸网站设计/谷歌网页版
  • 网站怎么解析/交换友链是什么意思
  • 域名收录提交/苏州seo培训
  • 外贸自己做网站好不好/网络营销八大工具
  • 如何修改英文WordPress主题首页/上海野猪seo
  • 专注网站建设/百度搜索引擎盘搜搜
  • 武汉微信公众号制作/合肥百度推广优化排名
  • 在网上找做设计是什么网站/如何策划一个营销方案
  • wordpress多条件搜索插件/seo外包费用
  • 亚马逊云搭建WordPress/网络优化工资一般多少
  • 南昌市建设工程质量监督站网站/网站建设平台官网
  • 做包装设计的网站有哪些/免费十大软件大全下载安装
  • 网站一般做多大像素/玉林seo
  • 中立建设集团有限公司网站/sem托管公司
  • 网页怎么设计与制作/东莞网络排名优化
  • 水利部建设项目水资源论证网站/东莞百度快照优化排名
  • wordpress qq主题下载失败/刷移动关键词优化
  • 在自己网站上做销售在工商要办什么手续/电商平台运营
  • 做电商网站要备案吗/邳州网站开发
  • wordpress壁纸小程序/搜索引擎优化方法总结