我用一个循环打印了这个图案:
*
**
***
****
*****
String s = "";
for (i = 1; i <= n; ++i) {
s += "*";
System.out.println(s);
}
现在我想知道如何只使用一个循环来打印以下图案。
1)
*
* *
* * *
* * * *
* * * * *
2)
* * * * *
* * * *
* * *
* *
*
3)
1 2 3 4 5
1 2 3 4
1 2 3
1 2
1
和其他仅使用一个循环的类似模式,我已经使用多个循环完成了所有这些。
最佳答案
I want optimization. The time complexity of two loops will be O(n^2) whereas for only one loop it will be O(n). And O(n) < O(n^2).
您意识到 99.999% 的时间将花在更新控制台上。如果您想节省时间,请不要写任何东西。相比之下,循环所花费的时间微不足道。
顺便说一句,无论您使用 1、2 还是 3 个循环,您产生的星星数量将为 O(N^2),因此时间复杂度为 O(N^2)。
关于java - 仅使用一个循环打印图案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13937041/