字符串- 244. 删除字符
2020-05-31 17:37:47
问题描述:
给定一个字符串str,现在要对该字符串进行删除操作,保留字符串中的k个字符且相对位置不变,并且使它的字典序最小,返回这个子串。
样例
例1:
输入:str="fskacsbi",k=2
输出:"ab"
解释:“ab“是str中长度为2并且字典序最小的子串
例2:
输入:str="fsakbacsi",k=3
输出:"aac"
问题求解:
按区间去寻找最小值即可。
public String deleteChar(String str, int k) {
StringBuffer sb = new StringBuffer();
int start = 0;
while (sb.length() < k) {
char c = str.charAt(start);
int next = start;
for (int i = start + 1; i <= str.length() - (k - sb.length()); i++) {
if (str.charAt(i) < c) {
c = str.charAt(i);
next = i;
}
}
sb.append(c);
start = next + 1;
}
return sb.toString();
}

浙公网安备 33010602011771号