• CodeWars 打怪升级.


    本人是渣渣,所以常逛各大学习站点,如:博客园,知乎,csdn,w3cfunc,segmentfault!!

    今天在segmentfault,发现一个外国站点,CodeWars里面有很多经典题目广大coder提出解决方法相互取经,然后打怪升级(解决题目)。

    有如下题目:

    创造一个函数,返回如下这么个玩意,参数是圣诞树的高度,为0-100的整数,空白都需要space填充。

        *    
       ***   
      *****  
     ******* 
    *********
    我给出的答案是:
    for(var i=1; i<=9; i+=2){
    
            var chr="";
    
            var space=""
    
            for(var k=1;k<=i;k++){ chr+="*";}
    
            var number=(9-i)/2; 
    
            for(var j=0;j<number;j++){ space+=" "}
    
            console.log(space+chr+space);
    
        }

    然后是老外给出的答案,相比之下惨不忍睹,不过我是菜鸟有待进步还是能接受的,哈哈

    function christmasTree(height,shift) {
      var shift=shift||0, spaces=new Array(shift+1).join(' ');
      return height>0?(height>1?christmasTree(height-1,shift+1)+'
    ':'')+spaces+new Array(2*height).join('*')+spaces:'';
    }
    function christmasTree(height) {
      var tree = [];
      for (var i = 1; i <= height; i++) {
        var s = "";
        for (var j = 0; j < height-i; j++) s += " ";
        for (var j = 0; j < i*2-1; j++) s += "*";
        for (var j = 0; j < height-i; j++) s += " ";
        tree.push(s);
      }
      return tree.join("
    ");
    }

    然后众多coder会投票,选出代码最优,性能最好的方案.

    当我看到这道题目的第一名时,彻底凌乱了,出了一口恶气啊.  哈哈

              c=
            function
          (h){t=[];for
         (i=1;i<=h;++i,
        t.push(b))for(b=
       '',j=0;j<2*h-1;++j
      )b+=j>=h-i&&j<h+i-1?
     '*':' ';return t.join(
    '
    ')};this['christmas'+
           'Tre'+
           'e']=c
    CodeWars
  • 相关阅读:
    applicaitonContext属性未注入, 请在applicationContext.xml中定义SpringContextHolder.
    HTML
    c# Path路径类
    C# 继承
    C# 结构体
    c# 类
    c#方法
    wpf开源控件MahApps.Metro
    c#数组类型
    c#类型转换
  • 原文地址:https://www.cnblogs.com/chejiang/p/4430267.html
Copyright © 2020-2023  润新知