如何处理这个hackerrank难题?

时间:2015-12-03 19:30:13

标签: java string algorithm sorting

我有一个字符串[5:10,1:2],我必须压缩这个字符串并同时排序。 我使用了这个正则表达式

String[] strRange = ranges.replaceAll("\\s", "").replaceAll("[^A-Za-z0-9 ]"," ").split(" ");

将其转换为数字[5,10,1,2]的简单字符串数组。

我做了一些字符串到整数操作,以便我可以将该字符串数组存储到ArrayList<Integer>中。

不知何故,我使用Collections.sort()[1,2,5,10]对列表进行了排序。

我需要的是将已排序的Arraylist转换回[1:2,5:10]

任何人都可以帮助我集体讨论这个问题吗?

1 个答案:

答案 0 :(得分:0)

我无法将其发布到评论部分。请参阅以下内容:

List<Integer> integers = Arrays.asList(1, 2, 3, 4);

int i = 0;
StringBuilder sb = new StringBuilder("[");
for (int value : integers) {
    sb.append((i == 0) ? "" : (i % 2 == 0 ? "," : ":")).append(value);
    i++;
}
sb.append("]");
System.out.println(sb.toString());

输出是:

  

[1:2,3:4]