我们透过 LeetCode #412 Fizz Buzz 来实际感受解决问题的过程 ( 题目连结 )
是否有极限值或特殊情况:
使用哪种资料结构:Array、String
let arr be an empty array
let str be an empty string
for i (1 to n) do
if (i%15 = 0) then
str = "FizzBuzz"
else if (i%3 = 0) then
str = "Fizz"
else if (i%5 = 0) then
str = "Buzz"
else
str = "i" (i to string)
end if
add str to arr
end for
return arr
var fizzBuzz = function(n) {
let arr = []
let str = ""
for (let i=1 ; i<=n ; i++) {
if (i%15 === 0) {
str = "FizzBuzz"
} else if (i%5 === 0) {
str = "Buzz"
} else if (i%3 === 0) {
str = "Fizz"
} else {
str = i.toString()
}
arr.push(str)
}
return arr
};
// 改仅使用阵列变数
// 透过加号自动转型
let arr = []
for (let i=1 ; i<=n ; i++) {
if (i%3 === 0 && i%5 === 0) {
arr.push("FizzBuzz")
} else if (i%5 === 0) {
arr.push("Buzz")
} else if (i%3 === 0) {
arr.push("Fizz")
} else {
arr.push(i+'')
}
}
return arr
如果多出 Divisible by 7 的条件,方法一将会变得很复杂。因此我们调整逻辑判断的流程,并使用字串相加的方式来处理。
let arr = []
for (let i=1 ; i<=n ; i++) {
let str = ''
if (i%3 === 0) {
str += 'Fizz'
}
if (i%5 === 0) {
str += 'Buzz'
}
// 如果是空字串
if (!str) {
str = i + ''
}
arr.push(str)
}
原文连结:LeetCode:Fizz Buzz ( 用 JavaScript 学演算法 ) - Ted's Point 泰德观点
>>: Day_07 : 让 Vite 来开启你的Vue 之 Vite 核心 esbuild
Home -> 资源群组(Resource Groups) -> 储存体帐户(Stor...
阵列依据占用空间的大小及编号方式,可分为一维阵列、二维阵列,且必须经过宣告才可使用。 C语言的阵列索...
昨天我们按照要改动的事项一个一个的做了出牌的方法 今天来调整一下 def play_card(pid...
前情提要 郑列终於要展现JS喜欢的工具力了吗? 郑列:是说,有人会跟情敌聊这麽久吗? 我:........
接下来讲讲 html + CSS + javascript + bootstrap基本介绍细节部分 ...