package test
.com
;
import java
.util
.Arrays
;
public class Hui05_Delete_K_Value {
public static int[] backMinNum(int[] array
, int k
){
int high
= -1;
int index
= 0;
while (k
!= 0){
high
= array
[index
];
int i
;
boolean flag
= true;
for (i
= index
+1; i
< array
.length
- 1; i
++) {
if(high
> array
[i
]){
array
[index
] = -1;
flag
= false;
break;
}else
break;
}
if(flag
== true){
int pos
= -1;
for (int j
= index
; j
< array
.length
- 1 ; j
++) {
if(array
[j
] > array
[j
+1]){
pos
= j
;
array
[pos
] = -1;
break;
}
}
if(pos
!= j
&& array
[array
.length
-1] >= array
[array
.length
-2]){
array
[array
.length
-1] = -1;
}
}
index
++;
k
--;
}
return array
;
}
public static void main(String
[] args
) {
int[] arr
= {5,4,1,2,7,0,9,3,6};
System
.out
.println(Arrays
.toString(arr
));
int[] arrMin
= backMinNum(arr
, 4);
System
.out
.println(Arrays
.toString(arrMin
));
System
.out
.println("========================");
int[] arr3
= {5,5,5,5,9};
int[] arr4
= {5,5,4,5,9};
System
.out
.println(Arrays
.toString(arr3
));
int[] arr4Min
= backMinNum(arr3
, 1);
System
.out
.println(Arrays
.toString(arr4Min
));
}
}
修改版
public class Code09_Delete_K_Value {
public static String
backMinNum(String num
, int k
){
String numNew
= num
;
while (k
!= 0){
boolean flag
= false;
for (int i
= 0; i
< num
.length() - 1; i
++) {
if(numNew
.charAt(i
) > numNew
.charAt(i
+1)){
numNew
= numNew
.substring(0,i
) + numNew
.substring(i
+1, numNew
.length());
flag
= true;
break;
}
}
if(!flag
){
numNew
= numNew
.substring(0, numNew
.length()-1);
}
if(numNew
.length() == 0)
return "0";
k
--;
}
return numNew
;
}
public static String
removeZero(String num
){
return num
;
}
public static void main(String
[] args
) {
String num
= "541270936";
System
.out
.println(num
);
String arrMin
= backMinNum(num
, 3);
System
.out
.println(arrMin
);
System
.out
.println("========================");
String num2
= "55559";
System
.out
.println(num2
);
String arr2Min
= backMinNum(num2
, 1);
System
.out
.println(arr2Min
);
}
}
转载请注明原文地址: https://yun.8miu.com/read-59245.html