美文网首页
[7kyu]Fizz Buzz

[7kyu]Fizz Buzz

作者: 君肄塵 | 来源:发表于2017-07-04 16:12 被阅读26次

该算法题来自于 codewars【语言: javascript】,翻译如有误差,敬请谅解~

  • 任务
    • 返回一个包含从1到N的数组,其中N是参数值。 N不会小于1。
  • 但是,如果满足以下任何条件,请替换某些值:
    1.如果该值为3的倍数,则使用'Fizz'代替 。
    2.如果值为5的倍数:则使用'Buzz'代替。
    3.如果该值是3&5的倍数:则使用'FizzBu​​zz'代替。

  • 解答
  • 其一
const fizzbuzz = n => {
  let arr = [];
  for(let i=1;i<=n;i++){
    if(i%3 && i%5){
      arr.push(i);
    } else {
      !(i%3+i%5) ? arr.push('FizzBuzz') : (i%3 ? arr.push('Buzz') : arr.push('Fizz'));
    }
  }
  return arr;
}
const fizzify = fizzbuzz;
  • 其二
var fizzify = fizzbuzz = n => {
      return Array.apply(null, new Array(n)).map(function(e, i){
        return (++i % 3 ? '' : 'Fizz' ) + (i % 5 ? '' : 'Buzz') || i;
      }); 
}
  • 其三
function fizzbuzz(n) {
      var fizzified = [];
      for (var i = 1; i <= n; i++) {
        var val = '';
        if (i % 3 == 0) val += 'Fizz';
        if (i % 5 == 0) val += 'Buzz';
        fizzified.push(val || i);
      }
      return fizzified;
}
function fizzify(n) {
      return fizzbuzz(n);
}
  • 其四
function fizzify(i) {
      if (i % 15 == 0) return 'FizzBuzz';
      else if (i % 5 == 0) return 'Buzz';
      else if (i % 3 == 0) return 'Fizz';
      else return i;
}
function fizzbuzz(n) {
      var res = [];
      for (var i = 1; i <= n; ++i) res.push(fizzify(i));
      return res;
}
  • 其五
// [...Array(n+1).keys()].slice(1) 可以获取1-n的连续数字
const fizzify = fizzbuzz = n => [...Array(n+1).keys()].slice(1).map(x=>x%15===0?'FizzBuzz':x%3===0?'Fizz':x%5===0?'Buzz':x);

相关文章

  • [7kyu]Fizz Buzz

    该算法题来自于 codewars【语言: javascript】,翻译如有误差,敬请谅解~ 任务返回一个包含从1到...

  • LeetCode 411-430

    412. Fizz Buzz[https://leetcode-cn.com/problems/fizz-buzz...

  • Leetcode PHP题解--D40 412. Fizz Bu

    412. Fizz Buzz 题目链接 412. Fizz Buzz 题目分析 这个题目也很简单。 从1逐个输出到...

  • Day 2: Prepare For FizzBuzz.z ->

    Fizz Buzz in Tensorflow interviewer: Welcome, can I get y...

  • 【LeetCode】Fizz Buzz 解题报告

    【LeetCode】Fizz Buzz 解题报告 [LeetCode] https://leetcode.com/...

  • 【LeetCode】Fizz Buzz 解题报告

    【LeetCode】Fizz Buzz 解题报告 [LeetCode] https://leetcode.com/...

  • Fizz Buzz

    写一个程序,输出从 1 到 n 数字的字符串表示。 如果 n 是3的倍数,输出“Fizz”; 如果 n 是5的倍数...

  • Fizz Buzz

    Write a program that outputs the string representation of...

  • Fizz Buzz

    问题描述 https://www.lintcode.com/problem/fizz-buzz/descripti...

  • Fizz Buzz

    写一个程序,输出从 1 到 n 数字的字符串表示。 如果 n 是3的倍数,输出“Fizz”; 如果 n 是5的倍数...

网友评论

      本文标题:[7kyu]Fizz Buzz

      本文链接:https://www.haomeiwen.com/subject/sbqxhxtx.html