博客
关于我
【Lintcode】244. Delete Char
阅读量:224 次
发布时间:2019-02-28

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

题目地址:

给定一个小写英文字母组成的字符串,再给定一个数字 k k k,求其最小字典序的长度为 k k k的子序列。

这个题目的思路与完全一样,只需要把一个字符串看成是 27 27 27进制的整数即可,然后同样用单调栈来做。代码如下:

public class Solution {       /**     * @param str: the string     * @param k: the length     * @return: the substring with  the smallest lexicographic order     */    public String deleteChar(String str, int k) {           // Write your code here.        if (k == 0) {               return "";        }                k = str.length() - k;        StringBuilder sb = new StringBuilder();        for (int i = 0; i < str.length(); i++) {               char c = str.charAt(i);            while (sb.length() > 0 && sb.charAt(sb.length() - 1) > c && k > 0) {                   sb.setLength(sb.length() - 1);                k--;            }                        sb.append(c);        }                if (k > 0) {               sb.setLength(sb.length() - k);        }                return sb.toString();    }}

时空复杂度 O ( n ) O(n) O(n)

转载地址:http://dhds.baihongyu.com/

你可能感兴趣的文章
MySQL的on duplicate key update 的使用
查看>>
MySQL的Replace用法详解
查看>>
mysql的root用户无法建库的问题
查看>>
mysql的sql_mode参数
查看>>
MySQL的sql_mode模式说明及设置
查看>>
mysql的sql执行计划详解
查看>>
mysql的sql语句基本练习
查看>>
Mysql的timestamp(时间戳)详解以及2038问题的解决方案
查看>>
mysql的util类怎么写_自己写的mysql类
查看>>
MySQL的xml中对大于,小于,等于的处理转换
查看>>
mysql的下载安装
查看>>
Mysql的两种存储引擎详细分析及区别(全)
查看>>
mysql的临时表简介
查看>>
MySQL的主从复制云栖社区_mysql 主从复制配置
查看>>
MySQL的事务隔离级别实战
查看>>
mysql的优化策略有哪些
查看>>
MySQL的使用
查看>>
mysql的全文检索的方法
查看>>
MySQL的函数
查看>>
mysql的函数DATE_ADD()
查看>>