删除数字
来源:互联网 发布:数据库笛卡尔积怎么算 编辑:程序博客网 时间:2024/06/16 17:26
题目:方法:贪心算法,从数组中依次删除比左右两边一个数大的元素。使用substr()函数,具体用法:法http://blog.csdn.net/no_retreats/article/details/7853066
给出一个字符串 A, 表示一个 n 位正整数, 删除其中 k 位数字, 使得剩余的数字仍然按照原来的顺序排列产生一个新的正整数。
找到删除 k 个数字之后的最小正整数。
N <= 240, k <= N。
样例
给出一个字符串代表的正整数 A 和一个整数 k, 其中 A = 178542
, k = 4
返回一个字符串 "12"
代码:
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 l) { string res = A; if(A.empty()) return res; int i; while(l --) { 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()函数 } int j; for(j = 0;res[j] == '0';)//此处老的代码有疑问 此处用for(j=0;res[j]=='0';j++) res = res.substr(j+1); // res=res.substr(j); return res; //出现第一位有0存在的错误 } };
阅读全文
0 0
- 删除数字
- 删除数字
- 删除数字
- 删除数字
- 删除数字
- 删除数字
- AOJ191 删除数字
- [java]间隔删除数字
- 删除字符串中的数字
- C 语言 数字删除
- 字符串删除数字
- 题目:删除数字
- lintcode-删除数字-182
- lintcode 删除数字
- 删除重复数字,java
- 删除数字vba
- LintCode 182-删除数字
- LintCode :删除数字
- Python3中byte和string之间各种编码转换
- leetcode 138. Copy List with Random Pointer 链表复制 + HashMap
- 谈谈对Spring的理解
- RHEL 6.5 安装 grid 报错:CRS-4124
- Log4J,在踩坑中升级版本
- 删除数字
- Linux常用命令
- 树和二叉树 概念整理
- JS技术(5)---String常用函数(slice,substr,substring)运用
- 笔试_多线程
- Redis 服务器
- 构造器与构造方法的区别
- 作用域、JS预解析机制
- 关于一个DL/ML(深度学习/机器学习)的学习计划