题解 | #在字符串中找出连续最长的数字串#
在字符串中找出连续最长的数字串
https://www.nowcoder.com/practice/2c81f88ecd5a4cc395b5308a99afbbec
import java.util.*;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
// 注意 hasNext 和 hasNextLine 的区别
while (in.hasNextLine()) { // 注意 while 处理多个 case
String line = in.nextLine();
List<String> datas = new ArrayList<>();
StringBuilder sb = new StringBuilder();
for (int i = 0; i < line.length(); i++) {
char c = line.charAt(i);
if (c >= '0' && c <= '9') {
sb.append(c);
} else {
if (sb.length() > 0) {
datas.add(sb.toString());
sb = new StringBuilder();
}
}
}
if (sb.length() > 0) {
datas.add(sb.toString());
}
Collections.sort(datas, new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
return Integer.compare(o2.length(), o1.length());
}
});
if (datas.size()>0){
int length = datas.get(0).length();
sb= new StringBuilder();
sb.append(datas.get(0));
for (int i =1;i<datas.size();i++){
if (datas.get(i).length()==length){
sb.append(datas.get(i));
}else{
break;
}
}
System.out.println(sb.toString()+","+length);
}
}
}
}

滴滴公司福利 1784人发布