寻找最大数

今天是周一,今天工作内容好像不多,匆匆干完之后,无聊的浏览网上的新闻,浏览一段时间之后,感觉无聊。突然想起之前听过的ACM,便在网上搜寻了一番。http://acm.nyist.net/JudgeOnline/problemset.php 在这个网上找到了一个题。寻找最大数,题目大意如下:请在整数 n 中删除m个数字, 使得余下的数字按原次序组成的新数最大,比如当n=92081346718538,m=10时,则新的最大数是9888。其实选择这个题目的原因是感觉这个题稍微简单点,其他题感觉有点难度。但是细细品来,发现此题也不简单,现我把自己的算法写下供大家吐槽

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public static String getRmovedMax(String inputNum ,int removeNum){
StringBuffer str = new StringBuffer(inputNum);
for (int i = 0; i < removeNum; i++) {
char[] chars = str.toString().toCharArray();
int len = chars.length;
for (int j = 0; j < len; j++) {
if(len == (j+1) ){
str.deleteCharAt(j);
break;
}
if(chars[j+1]>chars[j]){
str.deleteCharAt(j);
break;
}
}
}
return str.toString();
}
坚持原创技术分享,您的支持将鼓励我的继续创作