我应该编写一个简单的方法,返回给定数量的给定字符串,用逗号分隔(最后没有逗号),并使用递归。如果计数少于两个,则返回空字符串“”。
final static String COMMA = ", ";
public static String replicate(String s, int count) {
String answer = "";
if (count < 2) {
return answer;
}
else {
answer = s + COMMA + replicate(s, (count - 1));
return answer;
}
}
如果我把s=cat,count=5,我会得到所需的短一个。我不知道该怎么做,在这里得到适当数量的重复,而不在末尾加逗号。
编辑:显然我没有沟通,如果计数为2或更少,则该方法应该返回一个空字符串。抱歉这里不够清晰。
public static String replicate(String s, int count) {
if (count >= 2) {
s = s + COMMA + replicate(s, --count);
}
return s;
}
复制(“hii”,4)--
逗号复制(“hii”,3)--
每个元素都在那里,只是有一点不可读的代码。
因此:
public static String replicate(String s, int count) {
if (count <= 0) {
return "";
} else if (count == 1) {
return s;
} else {
return s + COMMA + replicate(s, count - 1);
}
}
导致精神衰竭的是可变答案,以及两例<代码>
你非常接近!当你击中你的基本情况时,计数
编辑:根据注释中的信息,您希望为小于或等于2的任何计数返回空字符串。奇怪的要求,但这将符合该问题;它使用三个而不是两个作为基本情况,返回三个串联在一起的输入。
final static String COMMA = ", ";
public static String replicate(String s, int count) {
String answer = "";
if(count <= 2) {
return answer;
}
if(count == 3) {
return (s + COMMA + s + COMMA + s);
}
else {
answer = s + COMMA + replicate(s, (count - 1));
return answer;
}
}
演示
我正在通过Codingbat上的一系列在线练习进行学习。为了我自己的娱乐。一组练习侧重于递归编程。在其中一个练习中,我编写了以下函数来返回所传递字符串中字符“x”的频率: 根据Codingbat网站,这工作得很好。 下一个练习是计算字符串中子字符串“hi”的频率。我尝试调整我以前的方法,使用而不是: 但是,它始终返回0。看起来像是测试条件 从未见过,但我不知道为什么。希望有人能帮忙! 编辑: 正如
问题内容: 我正在尝试查找字符串中字母的首次出现。例如,苹果中的p应该返回1。这是我拥有的: 它似乎似乎没有返回正确的值。 问题答案: 您的尝试很好,但是还不够。这是基于您的正确实现: 您的尝试存在两个问题: 在这一部分中,您已经找到了角色,因此正确的做法是停止递归,但您仍在继续。 在最后一个return语句中,您需要在递归调用中加1(如果最终找到了该字符),作为累加总索引号的一种方式。
我试图使用这个递归函数来找到回文字符串,但是代码输出术语<code>alia
我是Python的超级新手,并试图创建一个非常简单的函数,用于更大的地图着色程序。 该函数的思想是将一组变量归于不同的区域(string1),并将颜色分配给它们(r、g、b),然后通过递归地查看一组区域边界(string2)来测试这些区域是否接触到相同颜色的另一个区域,以找到匹配的变量颜色。 输入格式如下:("Ar, Bg, Cb","AB, CB, CA")将返回True,这意味着没有相同颜色的
我看到了这篇文章,它非常努力地解释了打印所有字符串的递归解决方案。 但当我们开始弹出堆栈时,我仍然无法得到部分。例如,递归一直进行到,在这里,基大小写遇到,它打印。但现在发生了什么?我们从函数调用堆栈弹出。我们用这个做什么等等? 谁能帮我解释一下吗? 另外,我需要一些关于时间复杂度的指示。不像完全的计算而是一些暗示。
我想按以下顺序打印子字符串:-“”,“D”,“C”,“CD”,“B”,“BD”,“BC”,“BCD”,“A”,“AD”,“AC”,“ACD”,“AB”,“ABD”,“ABC”,“ABCD” 在这里,最后4个阵型的“a”不见了