【发布时间】:2020-07-20 21:24:23
【问题描述】:
它是一个打印大小为 k 的字典最小和最大子串的程序。
这个解决方案有一部分我不太明白。也许有人可以向我解释。
public static String getSmallestAndLargest(String s, int k) {
String smallest = "";
String largest = "";
String currStr = s.substring(0, k);
这是我没有得到的部分。为什么int i 初始化为k 以及如何
for(int i = k; i<s.length(); i++){
currStr = currStr.substring(1, k) + s.charAt(i);
真的有效吗?
完整循环:
for(int i = k; i<s.length(); i++){
currStr = currStr.substring(1, k) + s.charAt(i);
if (lexMax.compareTo(currStr) < 0)
lexMax = currStr;
if (lexMin.compareTo(currStr) > 0)
lexMin = currStr;
}
return smallest + "\n" + largest;
}
【问题讨论】:
标签: java loops substring lexicographic