244. 删除字符
给定一个字符串
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) {
char[] chars = new char[k];
int flag = 0;
char min = str.charAt(0);
for (int i = 0; i < k; i++) {
min = str.charAt(flag);
for (int j = flag+1; j <= str.length() - k + i; j++) {
if (str.charAt(j) < min) {
flag = j;
min = str.charAt(j);
}
}
// System.out.print(flag+",");
chars[i] = min;
flag++;
}
return String.valueOf(chars);
}
}