问题陈述:
给定一个字符串s和一个整数k,完成该函数,以便找到长度为k的字典最小和最大的子字符串。
代码:
public class Solution {
public static String getSmallestAndLargest(String s, int k) {
String substring = s.substring(0, k);
String smallest = substring;
String largest = substring;
for (int i = 1; i <= s.length() - k; i++) { //This line
// Create a substring of length 'k'
substring = s.substring(i, i + k);
// If current substring is lexicographically smaller than 'smallest'
if (substring.compareTo(smallest) < 0) {
smallest = substring;
}
// If current substring is lexicographically larger than 'largest'
if (substring.compareTo(largest) > 0) {
largest = substring;
}
}
return smallest + "\n" + largest;
}
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String s = scan.next();
int k = scan.nextInt();
scan.close();
System.out.println(getSmallestAndLargest(s, k));
}
}
我不明白代码中标记线的机制。有人能给我解释一下吗?
for循环中有s.length()-k
,因为每次循环迭代时我们都会创建一个新的子字符串。我们不希望子字符串的结尾超出传入的字符串的范围,所以我们确保子字符串的开头不会超过s.length()-k
。
我想你说的是以下内容:
for (int i = 1; i <= s.length() - k; i++) { //This line
如果k
是所需的长度,那么您需要确保您不会迭代超过字符串有效长度
以允许长度k
的所有子字符串。减去k
只是调整终止点以实现该目标。
这里有一个例子。
< code>k = 5,字符串长度为13。
目标是迭代到 8
,以便从 9 到 13
保持长度为 5
的字符串。如果我们继续超过此范围,字符串将小于5,并且可能会发生错误。
尝试以下操作:
String str = "abcdefghij";
int k = 4;
for (int i = 0; i <= str.length() - k; i++) {
System.out.println(str.substring(i,i+k));
}
请注意,最后一个子字符串是ghij
,这是所需的结果。
我在寻找字典上最小的字符串的排列数。 例如,< code>bbaa现在,字典上最小的字符串是< code>aabb,因此,排列是, < code>(1,2,3,4),(2,1,3,4),(1,2,4,3),(2,1,4,3)也就是4。 我对它的想法(在python中)是找到最小的字符串(基本上将其排序为字符串),然后创建一个计数器来存储每个字符的计数。 因为,我们不需要一个在字典上变得更大的字符串
问题内容: 我有在另一个主题上找到的这段代码,但是该代码按连续字符而不是字母顺序对子字符串进行排序。如何按字母顺序更正?它打印出来了,我想打印。谢谢 ps:我是python的初学者 问题答案: 尝试更改此: 对此: 这将显示您的示例输入字符串。代码更简单,因为您正试图解决一个更简单的问题:-)
本文向大家介绍字符串中最大和最小的单词-JavaScript,包括了字符串中最大和最小的单词-JavaScript的使用技巧和注意事项,需要的朋友参考一下 我们需要编写一个JavaScript函数,该函数接受字符串并返回一个带有两个字符串值的数组,它们应分别是字符串中最小和最大的单词。 例如- 如果字符串是- 那么输出应该是- 因此,让我们为该功能编写代码 示例 以下是代码- 输出结果 控制台中的
我想从数组的一部分找到最大值和最小值。我知道我可以通过复制数组将所需的数组部分复制到另一个数组中,但只是想知道是否可以不复制数组,因为我必须为不同的子数组进行循环 例如: 现在我想从1到4找到子数组的最小/最大值(如果可能,不复制子数组)
问题内容: 有没有一种方法可以限制Django Haystack索引中边缘ngram的大小?例如,我创建ngram如下: 但我不想创建2个字母ngram,实际上我想将最小设置为4或5。 作为背景,我使用的是django-haystack / elasticsearch,并在heroku上使用了盆景。 问题答案: 您需要做的是覆盖Haystack的ElasticSearch后端中的搜索映射。 简而言
问题内容: 我被分配编写一个程序,该程序读取一系列整数输入并打印-输入的最小和最大-以及偶数和奇数输入的数量 我想出了第一部分,但对如何使程序显示最大和最小感到困惑。到目前为止,这是我的代码。我怎样才能显示最小的输入呢? 问题答案: 最简单的解决方案是使用诸如和