java - 仅使用一个循环打印图案

标签 java loops for-loop design-patterns

我用一个循环打印了这个图案:

*
**
***
****
*****

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/

相关文章:

PHP Loop 每天显示唯一消息

python - 基于 Pandas Dataframe 中多列的列表值过滤索引值的最快方法?

javascript - 确认页面

java - JCheckbox 未显示

java - 为 Java 中的方法选择合适的名称

loops - SPSS 创建一个循环以对多个变量进行多元回归

Scala:读取 Enumerator[T] 的一些数据并返回剩余的 Enumerator[T]

c# - C# 中带有字典的 InvalidCastException

java - 创建多线程并实例化可运行程序

java - 服务小程序异常 : No servlet class has been specified