- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
语言:Java
我遇到了应该产生以下模式的递归方法的问题:
Zigzag 1
*
Zigzag 2
*
**
*
Zigzag 3
*
***
*
Zigzag 4
*
**
*
****
*
**
*
Zigzag 6
*
***
*
******
*
***
*
Zigzag 8
*
**
*
****
*
**
*
********
*
**
*
****
*
**
*
这是我目前所拥有的:
public void printZigZag(int size, int indent) {
if(size > 0 && indent >= 0){
String temp = "";
for(int i = 0; i < indent; i++){
temp += " ";
}
for(int i = 0; i < size; i++){
temp += "*";
}
printZigZag(size/2, indent);
/* Example of something I've tried...
if(size != 1){
indent++;
}
if(size % 2 != 0){
indent = temp.length() - 2;
} else {
indent = temp.length() / 2;
}
*/
System.out.println(temp);
printZigZag(size/2, ++indent);
}
}
但是该代码产生了这个(Zigzag # 是大小):
Zigzag 1
*
ZigZag 2
*
**
*
ZigZag 3
*
***
*
ZigZag 4
*
**
*
****
*
**
*
ZigZag 6
*
***
*
******
*
***
*
ZigZag 8
*
**
*
****
*
**
*
********
*
**
*
****
*
**
*
几天来我一直在研究这个问题,有各种不同的 if 语句和语句顺序,但无法弄清楚我哪里出错了。
非常感谢您提供的任何帮助,在此先感谢您。
附言。抱歉发了这么大的帖子。
最佳答案
看起来递归模式是:
zigZag(1): print *
zigZag(n): zigZag(n / 2), print n times *, zigZag(n / 2)
只需注意缩进因素。试试这个:
public class ZigZag {
public static void main(String[] args) {
int n = 4;
zigZag(n, 0);
}
public static void zigZag(int n, int i /* indentation factor */) {
if(n > 1)
zigZag(n / 2, i);
for(int k = i; k > 0; k--)
System.out.print(" ");
for(int k = n; k > 0; k--)
System.out.print("*");
System.out.println();
if(n > 1)
zigZag(n / 2, i + n / 2);
}
}
关于java - 坚持 Java 中的递归模式(ZigZag),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18318173/
考虑一下我的树是这样的 5 / \ 3 7 / \ / \
我有一组不同的二维向量(实数),指向不同的方向。我们可以选择一对向量并构造它们的线性组合,使得系数为正且它们的和为 1。简而言之,我们可以对任意两个向量进行“加权平均”。 我的目标是针对任意方向选择一
我在 svg 中工作,想使用给定的点集创建一个图案。我的之字形图案是“等边三 Angular 形”。我在 svg 中使用“路径”来创建它。问题是我无法在两点之间找到精确的“中点”来创建“等边三 Ang
我的训练数据由大约 700 个独特样本组成(这是针对回归问题)。数据未打乱,因此前 N 个样本具有相同的标签(例如,值 1.25),然后接下来的 M 个样本具有相同的标签(例如,2.99) >) 等。
我目前正在设计一个网站,我在页脚顶部创建了一个“之字形”边框。为了在网站中创建一些深度,我想在“之字形”中的三 Angular 形上添加阴影,这就是我目前遇到的问题。 这是我现在拥有的页脚示例:h
这个问题在这里已经有了答案: How can I move this zigzag border to the left side instead of the bottom? (2 个答案) 关
我在 MATLAB 中有一个 NxM 矩阵,我想以与 JPEG 重新排序其子 block 像素的方式类似的方式重新排序: (image from Wikipedia) 我希望算法具有通用性,这样我就可
我有一个问题。我必须将锯齿形格式的二叉树转换为双向链表。 Given BT: [1] [2] [3] [
我在 MATLAB 中有一个 NxM 矩阵,我想以与 JPEG 重新排序其子 block 像素的方式类似的方式重新排序: (image from Wikipedia) 我希望算法具有通用性,这样我就可
我必须使用层序遍历打印二叉树的节点,但要以螺旋形式打印,即不同层级的节点应以螺旋形式打印。 例如:如果树看起来像: 输出应该是 10 5 20 25 15 6 4。 我使用的算法很简单,只是层序遍历的
假设我有一个数组 A[][] = {{ 1, 2, 3, 4}, { 5, 6, 7, 8}, { 9,10,11,12}}; 然后我想打印一个wave,这样输出就
字形变换,ZigZag,题解,Leetcode, 力扣,Python, C++, Java 题目地址:https://leetcode.com/problems/zigzag-conversion/
我目前正在使用 quantmod ZigZag 叠加层,我注意到它的计算方式与原始叠加层略有不同。 我已经证明了以下 picture 的区别RDWR 使用 ZigZag(5%) 和 quantmod和
我正在尝试使用字符在 Java 中制作 ZigZag 线,但代码无法正常工作 public void ZigZag(int width, int height, boolean infinite, c
我正在尝试对二叉树进行之字形遍历。但是我被困在一种类型的测试用例中,即当树不平衡时。如果我将我的输入作为 3 3 9 20 null null 15 7 对于看起来像这样的二叉树: 3
我正在尝试在 css 中使用线性渐变创建锯齿形边框。我有“顶部”边框工作,但我似乎无法让底部边框工作。底部的位于纯色部分和带有背景图像的部分之间。如果它是一个纯色部分,我可以让底部的部分工作,但图像背
语言:Java 我遇到了应该产生以下模式的递归方法的问题: Zigzag 1 * Zigzag 2 * ** * Zigzag 3 * *** * Zigzag 4 * ** * ****
我在剧本上费了很大劲,但我不能让它奏效。下面是Pine脚本的默认Z字形代码,我只想要补偿(移到未来)。它使用线路。新的功能,但我无法使之字形移动在未来,如果有人可以引导我。我已经添加了偏移量变量,我想
我正在寻找一些库,它可以提供一些函数,可以帮助将 zig-zag 编码的字节数组解码为 2 的补码 long/int 并返回。 由于 ZigZag 用于 protobuf我预计 Guava 有它的用处
我有这行代码来创建一个锯齿形数组,它相当简单,而且我已经有了它的代码。这是问题的摘要: 该方法创建并返回一个新的二维整型数组,在 Java 中它实际上只是一个一维数组,其元素是 int[] 类型的一维
我是一名优秀的程序员,十分优秀!