每天一道简单题,做完再去掘金摸鱼

109 阅读1分钟

速算机器人

robot.png

代码贴一下

  • 标准解法
function calculate(s: string): number {
    let x = 1; 
    let y = 0;
    s.split('').forEach(item => {
        if(item === 'A'){
            x = 2 * x + y
        } else {
            y = 2 * y + x
        }
    });
    return x + y;
};
  • 代码最少解法
function calculate(s: string): number {
    return Math.pow(2, s.length)
};
  • 不过两种写法的执行用时和消耗内存都是差不多的,上面两次提交是第二种写法,时间上有差异,不知道是不是电脑问题,最下面的提交是标准写法,就是最容易想到的写法。缺点就是代码量比下面多很多。但是执行效率是一样的

time.png

  • 代码和人有一个能跑就行,哈哈哈