[leetcode/lintcode 题解] 字节跳动面试真题:删除字符

简介: [leetcode/lintcode 题解] 字节跳动面试真题:删除字符

描述
给定一个字符串str,现在要对该字符串进行删除操作,保留字符串中的k个字符且相对位置不变,并且使它的字典序最小,返回这个子串。

在线评测地址:领扣题库官网

样例1
输入:str="fskacsbi",k=2
输出:"ab"
解释:“ab“是str中长度为2并且字典序最小的子串
样例2
输入:str="fsakbacsi",k=3
输出:"aac"

源代码

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) {
        int n = str.length();
        char[] result = new char[k];
        for (int i = 0; i < k; i ++) {
            result[i] = str.charAt(n - k + i);
        }
        for (int i = n - k - 1; i >= 0; i --) {
            char currentChar = str.charAt(i);
            for (int j = 0; j < k; j ++) {
                if (result[j] < currentChar) {
                    break;
                } else {
                    char temp = result[j];
                    result[j] = currentChar;
                    currentChar = temp;
                }
            }
        }
        return String.valueOf(result);
    }
}

更多题解参考:九章官网solution

相关文章
|
1月前
|
存储 Unix 程序员
面试题:Ctrl + C在不同操作系统下的应用
字节跳动面试题:Ctrl + C在不同操作系统下的应用
41 1
|
1月前
|
负载均衡 算法 应用服务中间件
面试题:Nginx有哪些负载均衡算法?Nginx位于七层网络结构中的哪一层?
字节跳动面试题:Nginx有哪些负载均衡算法?Nginx位于七层网络结构中的哪一层?
42 0
|
4天前
|
Java
【LeetCode力扣】面试题 17.14. 最小K个数(top-k问题)
【LeetCode力扣】面试题 17.14. 最小K个数(top-k问题)
8 1
|
5天前
|
算法
【刷题】 leetcode 面试题 08.05.递归乘法
递归算法是一种在计算机科学和数学中广泛应用的解决问题的方法,其基本思想是利用问题的自我相似性,即将一个大问题分解为一个或多个相同或相似的小问题来解决。递归算法的核心在于函数(或过程)能够直接或间接地调用自身来求解问题的不同部分,直到达到基本情况(也称为基础案例或终止条件),这时可以直接得出答案而不必再进行递归调用。
21 4
【刷题】 leetcode 面试题 08.05.递归乘法
|
5天前
|
存储 算法 安全
【刷题】 leetcode 面试题 01.06 字符串压缩
来看效果: 非常好!!!过啦!!!
25 5
【刷题】 leetcode 面试题 01.06 字符串压缩
|
1月前
|
前端开发 IDE Java
大厂面试题详解:有几种类型的类加载器,都具体是干什么的
字节跳动大厂面试题详解:有几种类型的类加载器,都具体是干什么的
32 0
|
1月前
|
Java 关系型数据库 MySQL
大厂面试题详解:Java抽象类与接口的概念及区别
字节跳动大厂面试题详解:Java抽象类与接口的概念及区别
40 0
|
1月前
|
C++ 索引
【力扣经典面试题】14. 最长公共前缀
【力扣经典面试题】14. 最长公共前缀
|
1月前
|
C++
【力扣经典面试题】58. 最后一个单词的长度
【力扣经典面试题】58. 最后一个单词的长度
|
1月前
|
算法 Java
【力扣经典面试题】12. 整数转罗马数字
【力扣经典面试题】12. 整数转罗马数字