当前位置: 首页 > 编程日记 > 正文

leetcode-402 移掉K位数组

给定一个以字符串表示的非负整数 num,移除这个数中的 k 位数字,使得剩下的数字最小。

注意:

num 的长度小于 10002 且 ≥ k。
num 不会包含任何前导零。

示例 1 :

输入: num = “1432219”, k = 3
输出: “1219”
解释: 移除掉三个数字 4, 3, 和 2形成一个新的最小的数字 1219。

针对该问题,显然很好的解决办法便是贪心
从高位开始遍历整数,即在移除的数字在k的范围内,尽可能选择移除较小的数值

实现上使用栈的形态进行管理,栈保存最终的移除后的结果,并且动态变化;当出现元素小于栈顶元素的情况下将栈顶元素移除,在栈不为空或者 元素不等于零时 将该元素放入栈中。

实现如下:

string removeKdigits(string num, int k) {vector<int> S;string result = "";for (int i = 0;i < num.length(); ++i) {int number = num[i] - '0';while(S.size() != 0 && S[S.size() - 1] > number && k) {S.pop_back();k--;}if (number != 0 || S.size()) {//处理前导零的情况S.push_back(number);}}while(S.size() && k) {S.pop_back();k--;}for (int i = 0;i < S.size(); ++i) {result.append(1,'0' + S[i]);}if (result == "") {return "0";}return result;
}

相关文章:

c++ using 前置声明_C++ 类的前置声明

今天在研究C”接口与实现分离“的时候遇到了一个问题&#xff0c;看似很小&#xff0c;然后背后的东西确值得让人深思&#xff01;感觉在学习的过程中有太多的为什么&#xff0c;而每一个为什么背后都隐藏着一些原理和目的&#xff0c;所以得多问自己”为什么“&#xff0c;这样…

测试用的序列化方法

对于实体&#xff0c;进行底层方法测试的时候&#xff0c;经常逐一赋值很麻烦&#xff0c;网上找到序列化xml方法&#xff0c;感觉挺好用的。 前端调用方法时&#xff0c;将实体序列化写入xml文件 //xml路径string filePath "D:\1.xml";using (System.IO.StreamWrit…

HighChart学习-更新数据data Series与重绘

一&#xff1a;HighChart介绍 基于JQuery的纯JavaScript的图标库&#xff0c;支持各种图表显示&#xff0c;同时还支持Mootools 与Prototype详细版本支持在这里&#xff1a; JQuery 1.3.2 - 1.9.x. 2.0.x for modern browsers Mootools 1.2.5 - 1.4.5 Prototype 1.7 支持目…

shell代码模板

批量ssh登录机器#site_search_hosts 10.4.16.205,10.4.20.87,10.4.20.88,10.4.20.89,10.4.20.90,10.4.20.92,10.4.20.93,10.4.21.51,10.4.21.52,10.4.21.53,10.4.21.54,10.4.33.136,10.4.33.137,10.4.33.138,10.4.33.139,10.4.33.140site_search_hosts10.4.16.205,10.4.20.87,1…

leetcode-55 跳跃游戏

给定一个非负整数数组&#xff0c;你最初位于数组的第一个位置。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个位置。 示例 1: 输入: [2,3,1,1,4] 输出: true 解释: 我们可以先跳 1 步&#xff0c;从位置 0 到达 位置 1, 然后再从位置 1…

子分类账知识学习(汇总网上比较有用的资料)

子模块和GL之间关联的变化 12i在功能模块上的变化很多&#xff0c;比如&#xff0c;基本每个模块都启用了MOAC特性&#xff0c;新增加了子帐模块&#xff0c;税模块等等很多新的模块&#xff0c;OPM库存和离散库存集成了。不过这些变化中&#xff0c;大部分不是我们需要重点…

zynqpl端时钟_第十一章 ZYNQ-MIZ701 PS读写PL端BRAM

本篇文章目的是使用Block Memory进行PS和PL的数据交互或者数据共享&#xff0c;通过zynq PS端的Master GP0端口向BRAM写数据&#xff0c;然后再通过PS端的Mater GP1把数据读出来&#xff0c;将结果打印输出到串口终端显示。涉及到AXI BRAM Controller 和 Block Memery Generato…

nagios报警的问题

最近我写了关于naigos监控的安装与配置的技术文档&#xff0c;公司运维按照我的文档部署naigos&#xff0c;发现不能发送报警邮件&#xff0c;经过我的检查&#xff0c;发现问题如下&#xff1a;1、hosts里的配置[rootnagios ~]# cat /etc/hosts # Do not remove the followin…

机器学习常见的分类算法的优缺点

1. 前言 在机器学习中&#xff0c;种类最多的一类算法要属很类算法&#xff0c;本文对机器学习中的各种分类算法的优缺点做一个总结。 2. 贝叶斯分类法 2.1 优点 所需估计的参数少&#xff0c;对于缺失数据不敏感。有着坚实的数学基础&#xff0c;以及稳定的分类效率。2.2 缺点…

公司新来一个同事:为什么 HashMap 不能一边遍历一边删除?一下子把我问懵了!

前段时间,同事在代码中KW扫描的时候出现这样一条:上面出现这样的原因是在使用foreach对HashMap进行遍历时,同时进行put赋值操作会有问题,异常ConcurrentModificationException。于是帮同简单的看了一下,印象中集合类在进行遍历时同时进行删除或者添加操作时需要谨慎,一般使用迭代器进行操作。于是告诉同事,应该使用迭代器Iterator来对集合元素进行操作。同事问我为什么?这一下子把我问蒙了?对啊,只是记得这样用不可以,但是好像自己从来没有细究过为什么?

一文搞懂MySQL索引

官方介绍索引是帮助MySQL高效获取数据的数据结构。更通俗的说,数据库索引好比是一本书前面的目录,能加快数据库的查询速度。一般来说索引本身也很大,不可能全部存储在内存中,因此索引往往是存储在磁盘上的文件中的(可能存储在单独的索引文件中,也可能和数据一起存储在数据文件中)。我们通常所说的索引,包括聚集索引、覆盖索引、组合索引、前缀索引、唯一索引等,没有特别说明,默认都是使用B+树结构组织(多路搜索树,并不一定是二叉的)的索引。看到这里,你是不是对于自己的sql语句里面的索引的有了更多优化想法呢。

leetcode-45 跳跃游戏II

给定一个非负整数数组&#xff0c;你最初位于数组的第一个位置。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 你的目标是使用最少的跳跃次数到达数组的最后一个位置。 示例: 输入: [2,3,1,1,4] 输出: 2 解释: 跳到最后一个位置的最小跳跃数是 2。 从下标为 0 跳到下标…

做技术到底可以做到哪种地步-技术为什么越走越窄 (转)

尽管做技术已经有不少年头了&#xff0c;不管是犹犹豫豫还是坚定不移&#xff0c;我们走到了现在&#xff0c;依然走在技术这条路上。 不管我们处于何种职位&#xff0c;拿着哪种薪水&#xff0c;其实&#xff0c;我们会是不是的问问自己“做技术到底可以做到那种地步”&#x…

linux本地agent执行脚本_github 4.4K星|马哥教育企业教练团队研发一款轻量级、无Agent自动化运维平台...

马哥教育企业教练团队研发了一款自动化运维平台系统—Spug&#xff0c;上线后广受中小运维爱好者喜爱&#xff0c;目前github4.4k星&#xff0c;已经成为自动化热门项目。2020年了&#xff0c;运维不会搞运维自动化&#xff0c;都不好意思说自己做运维的了&#xff0c;大一点的…

mysql 数据目录更改

[CentOS]MySQL更改数据文件存储目录环境&#xff1a;CentOS(Linux) Mysql5.X 1.如果MySQL已经启动的话&#xff0c;需要先停止MySQL的运行#service mysqld stop2.home 目录下新建目录[data]/home #mkdir data3.移动MySQL默认数据库文件#mv /var/lib/mysql /home/data4.修改MySQ…

leetcode-452 用最少数量的箭引爆气球

在二维空间中有许多球形的气球。对于每个气球&#xff0c;提供的输入是水平方向上&#xff0c;气球直径的开始和结束坐标。由于它是水平的&#xff0c;所以y坐标并不重要&#xff0c;因此只要知道开始和结束的x坐标就足够了。开始坐标总是小于结束坐标。平面内最多存在104个气球…

ssm 异常捕获 统一处理_SpringMVC 统一异常处理介绍及实战

背景什么是统一异常处理目标统一异常处理实战用 Assert(断言) 替换 throw exception定义统一异常处理器类扩展总结《Java 2019 超神之路》《Dubbo 实现原理与源码解析 —— 精品合集》《Spring 实现原理与源码解析 —— 精品合集》《MyBatis 实现原理与源码解析 —— 精品合集》…

【iOS开发】企业版证书($299)In-House方式发布指南 (转)

一、明确几个概念 1、企业版IDP&#xff1a;即iOS Development Enterprise Program。注意是$299&#xff0f;Year那种&#xff0c;并不是$99/Year的那种。 2、In House&#xff1a;是只企业内部发布&#xff0c;仅限企业内部人员使用。 二、In-House方式特点 1、不能发布到Appl…

苹果所有常用证书,appID,Provisioning Profiles配置说明及制作图文教程(精)

概述&#xff1a; 苹果的证书繁锁复杂&#xff0c;制作管理相当麻烦&#xff0c;今天决定重置一个游戏项目中的所有证书&#xff0c;做了这么多次还是感觉很纠结&#xff0c;索性直接记录下来&#xff0c;日后你我他查阅都方便&#xff1b; 首先得描述一下各个证书的定位&#…

ES6语法~解构赋值、箭头函数、class类继承及属性方法、map、set、symbol、rest、new.target、 Object.entries......

2015年6月17日 ECMAScript 6发布正式版本 前面介绍基本语法, 后面为class用法及属性方法、set、symbol、rest等语法. 一、基本语法: 1、 定义变量&#xff1a;let 使用var 定义的变量没有{ }限制&#xff0c;在条件中定义的i&#xff0c;全局中都可以使用&#xff0c…

读书:历史 -- 东印度公司

浅田实 — 日本 文学博士、英国近世史学专家 东印度公司曾经为英国殖民印度&#xff0c;扮演过冲锋陷阵的历史角色。 富可敌国来形容东印度公司绰绰有余&#xff0c;它的崛起和衰落是时代变迁的缩影。 英国发起的第一次工业革命迫切需要资本的输入和输出来带动蒸汽齿轮得高速转…

2014腾讯校园招聘研发笔试题

嘿嘿转载于:https://www.cnblogs.com/churi/p/3969749.html

用74l138实现一个一位全减器_用pygame实现一个简单的五子棋游戏

准备python基础相关准备&#xff1a;pygame的基础知识&#xff0c;参考目光博客的“用Python和Pygame写游戏-从入门到精通”安装python 3.8.0 在python官网下载&#xff0c;不多说。安装pygame&#xff0c;命令&#xff1a;pip install pygame如安装较慢&#xff0c;可以参考如…

大量LAST_ACK 的分析过程

2019独角兽企业重金招聘Python工程师标准>>> 记录一下自己的思想过程 现象:在netstat的时候发现大量处于LAST_ACK状态的TCP连接&#xff0c;达到在ESTABLISHED状态的90%以上 [rootccsafe ~]# netstat -ant|fgrep ":"|cut -b 77-90|sort |uniq -c …

操作系统--内存管理方式

“碎片的内存”描述一个系统中所有不可用的空闲内存。这些资源之所以仍然未被使用&#xff0c;是因为负责分配内存的分配器使这些内存无法使用。这一问题通常都会发生&#xff0c;原因在于空闲内存以小而不连续方式出现在不同的位置。由于分 配方法决定内存碎片是否是一个问题&…

题解 UVA11354 【Bond】

并查集按秩合并 传送门 大意&#xff1a;给出一张n个点m条边的无向图&#xff0c; 每条边有一个权值&#xff0c;有q个询问&#xff0c; 每次给出两个点s、t&#xff0c;找一条路&#xff0c; 使得路径上的边的最大权值最小。 我们可以发现&#xff0c;跑最小生成树会跑挂&…

管理 zabbix_Zabbix 2019 峰会丨看睿象云如何在 Zabbix 中玩转告警

2019年11月29日-30日&#xff0c;为期两天的 Zabbix 大会中国站在北京盛大召开&#xff0c;本届 Zabbix 大会以“新视界&#xff0c;新技术&#xff0c;共建未来新监控!”为主题&#xff0c;为与会人员提供前沿的监控技术学习&#xff0c;多元的行业案例讲解&#xff0c;以及现…

Oracle存储过程返回游标实例详解

复制代码 代码如下:CREATE OR REPLACE PROCEDURE PROCSENDEMAIL(P_TXT VARCHAR2, P_SUB VARCHAR2, P_SENDOR VARCHAR2, P_RECEIVER VARCHAR2, P_SERVER VARCHAR2, P_PORT NUMBER DEFAULT 25, P_NEED_SMTP INT DEFAULT 0, P_USER VARCHAR2 DEFAULT NULL, P_PASS VARCHAR2 DEFAUL…

03 Django REST Framework 视图和路由

01-DRF中的request 在Django REST Framework中内置的Request类扩展了Django中的Request类&#xff0c;实现了很多方便的功能--如请求数据解析和认证等。 比如&#xff0c;区别于Django中的request从request.GET中获取URL参数&#xff0c;从request.POST中取某些情况下的POST数据…