zoukankan      html  css  js  c++  java
  • 输出简单图形(StringBuilder代替双重循环)

    在有些题目中打印简单图形必须使用StringBuilder或者StringBuffer,否则会运行超时(用String都会超时)。

    因为在题目的要求中说到输入的n是小于1000的,用双重循环就会超时,用单层循环的String也会超时,因为+=的次数有点多了。

    传说中的简单图形:

    Java代码如下:

    主要用了substring方法和append

    import java.util.Scanner;
    
    public class Main{
    
    public static void main(String []args){
    
        Scanner sc = new Scanner(System.in);
      StringBuilder s = new StringBuilder("");
    //   long start = System.currentTimeMillis();
      int n =sc.nextInt();
      for(int i=0;i<1002;i++){
          s.append(" ");
      } StringBuilder a = new StringBuilder("");
      for(int i=0;i<1002;i++){
          a.append("*");
      }
      StringBuilder ans = new StringBuilder("");
      for(int i=1;i<=n/2;i++){
          ans.append(s.substring(1001-n/2-1+i,1001));
          ans.append(a.substring(1001-2*i+1,1001));
          ans.append("
    ");
      }ans.append(a.substring(1001-n,1001));ans.append("
    ");
      
      
      for(int i=n/2;i>=1;i--){
          ans.append(s.substring(1001-n/2-1+i,1001));
          ans.append(a.substring(1001-2*i+1,1001));
          ans.append("
    ");
      }System.out.println(ans.toString());
          
    //  long end = System.currentTimeMillis();
    //  System.out.println((end-start)*1.0000/1000+"s");
      sc.close();
    }
    
    
    
    }

      

    不一样的烟火
  • 相关阅读:
    mongo的常用操作——增删改查
    配置我的sublime
    mongo概念
    mongo命令
    mongo安装与配置
    node搭建http基本套路
    模块的导出入
    vue数据绑定原理
    webpack打包速度优化
    工作中的优化之数字键盘优化
  • 原文地址:https://www.cnblogs.com/cstdio1/p/11638195.html
Copyright © 2011-2022 走看看