LintCode 删除数字+贪心
来源:互联网 发布:sql删除前10条记录 编辑:程序博客网 时间:2024/06/05 00:52
题目链接
http://www.lintcode.com/zh-cn/problem/delete-digits/
给出一个字符串 A, 表示一个 n 位正整数, 删除其中 k 位数字, 使得剩余的数字仍然按照原来的顺序排列产生一个新的正整数。
找到删除 k 个数字之后的最小正整数。
N <= 240, k <= N
样例
给出一个字符串代表的正整数 A 和一个整数 k, 其中 A = 178542
, k = 4
返回一个字符串 "12"
代码
substr函数介绍 substr(a,b)表示从a开始长度为b substr(a)表示从a开始到结束
具体substr()函数功能
http://blog.csdn.net/no_retreats/article/details/7853066
class Solution {public: /** *@param A: A positive integer which has N digits, A is a string. *@param k: Remove k digits. *@return: A string */ string DeleteDigits(string A, int k) { string res = ""; if(A.empty()) return res; res = A; int i; while(k > 0){i = 0;while(i<res.size()&&res[i] <= res[i+1])//此处保存第一个i 大于i+1的值i++; res = res.substr(0,i) + res.substr(i+1);//substr()函数k--;}int j;for(j = 0;res[j] == '0';)//此处老的代码有疑问res = res.substr(j+1);return res; }};
阅读全文
0 0
- LintCode 删除数字+贪心
- lintcode-删除数字-182
- lintcode 删除数字
- LintCode 182-删除数字
- LintCode :删除数字
- lintcode(182)删除数字
- lintcode-- 删除数字
- 删除数字-LintCode
- LintCode-删除排序数组中的重复数字
- LintCode 删除排序数组中的重复数字
- lintcode ----删除排序数组中的重复数字
- LintCode:删除排序数组中的重复数字
- lintcode删除排序链表重复数字
- LintCode-删除排序数组中的重复数字
- 【LintCode】删除排序数组中的重复数字
- 删除排序数组中的重复数字-LintCode
- lintcode--删除排序数组中的重复数字
- Lintcode 删除排序数组中的重复数字
- 写页面中需要知道的一些兼容方法
- HDU 1232 畅通工程(并查集Disjoint Set 经典)
- Couldn't save uncommitted changes / unable to auto-detect email address错误
- 基于ReentrantLock发生死锁的解决方案
- 利用Arcgis Engine 二次开发的使用和总结
- LintCode 删除数字+贪心
- Python Web开发Django框架学习(十三)连接MySQL数据库
- Myisam和innodb的区别
- Android响应式UI教程
- ijkplayer iOS 打包之路
- hashMap原理解析
- BZOJ 2724 浅谈分块算法求区间众数
- Organopolysilazane IOTA-OPSZ-9150
- 单链表对象操作--java