问题描述
给你一个整数 n,使得从 n 中删除 k 个数字之后的数字最大。
样例输入
1432219 3
样例输出
4329
private static int[] solution(int[] array, int k) {
if (null == array || array.length == 0 || k <= 0) {
return array;
}
int newLenth = array.length - k;
int start = 0;
int end = 1;
while (end < array.length && k > 0) {
if (start < 0 || array[end] <= array[start]) {
array[start + 1] = array[end];
start++;
end++;
} else {
start--;
k--;
}
}
array[start + 1] = array[end];
int[] result = new int[newLenth];
for (int i = 0; i < newLenth; i++) {
result[i] = array[i];
}
return result;
}