博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[lintcode medium] Delete digits
阅读量:5110 次
发布时间:2019-06-13

本文共 1157 字,大约阅读时间需要 3 分钟。

Delete Digits

Given string A representative a positive integer which has N digits, remove any k digits of the number, the remaining digits are arranged according to the original order to become a new positive integer.

Find the smallest integer after remove k digits.

N <= 240 and k <= N,

Example

Given an integer A = "178542", k = 4

return a string "12"

 

思路很直接,删掉K个数,需要注意的是,要按从前到后的顺序删,从前往后遍历,如果前面一个数比后面的数大,则删掉。删掉K个数。则留下的是最小的数。

由于string是不能直接操作,需要使用StringBuilder 来存储变化的string

还需要注意两点:

1、最后一个数的处理

2、如果删掉的数留下的前面是0,返回时需要从第一个不是0的数返回子串。

public class Solution {    /**     *@param A: A positive integer which has N digits, A is a string.     *@param k: Remove k digits.     *@return: A string     */    public String DeleteDigits(String A, int k) {        // write your code here        if(A==null || A.length()==0 || k<0 || k>A.length()) return "";                StringBuilder sb=new StringBuilder(A);        for(int i=0;i
sb.charAt(j+1)) { sb.deleteCharAt(j); break; } } } int i=0; for(;i

 

转载于:https://www.cnblogs.com/kittyamin/p/5055950.html

你可能感兴趣的文章
mybatis调用存储过程,获取返回的游标
查看>>
设计模式之装饰模式(结构型)
查看>>
面向对象的设计原则
查看>>
Swift3.0服务端开发(三) Mustache页面模板与日志记录
查看>>
【转】 FPGA设计的四种常用思想与技巧
查看>>
EntityFrameWork 实现实体类和DBContext分离在不同类库
查看>>
新手算法学习之路----二叉树(在一个二叉查找树中插入一个节点)
查看>>
autopep8
查看>>
GIT在Linux上的安装和使用简介
查看>>
基于C#编程语言的Mysql常用操作
查看>>
s3c2440实验---定时器
查看>>
MyEclipse10安装SVN插件
查看>>
[转]: 视图和表的区别和联系
查看>>
Regular Experssion
查看>>
图论例题1——NOIP2015信息传递
查看>>
uCOS-II中的任务切换-图解多种任务调度时机与问题
查看>>
CocoaPods的安装和使用那些事(Xcode 7.2,iOS 9.2,Swift)
查看>>
Android 官方新手指导教程
查看>>
幸运转盘v1.0 【附视频】我的Android原创处女作,请支持!
查看>>
UseIIS
查看>>