該算法題來自于 codewars【語言: javascript】缴挖,翻譯如有誤差秧荆,敬請諒解~
- 場景
還記得在校園里的時候,遇見女孩拿著一朵花,撕開花瓣時忱反,每次撕下一片花瓣间影,都會說出以下每個短語:
I love you
a little
a lot
passionately
madly
not at all
- 任務(wù)
對于給定數(shù)量的花付燥,判斷撕到最后一片瓣花會說什么短語,這里花瓣數(shù)量一直大于0。
- 解答【如解答有誤,歡迎留言指正~】
- 其一
const howMuchILoveYou =(nbPetals) => {
const Array = ['I love you','a little','a lot','passionately','madly','not at all'];
return !(nbPetals%Array.length) ? Array[Array.length-1] : Array[nbPetals%Array.length -1];
}
- 其二
const howMuchILoveYou = n => ['I love you', 'a little', 'a lot', 'passionately', 'madly', 'not at all'][(n - 1) % 6]
- 其三
function howMuchILoveYou(nbPetals) {
let phrases = ['I love you','a little','a lot','passionately','madly','not at all'];
let index = (nbPetals % phrases.length) -1
if( index < 0 ) index = phrases.length + index
return phrases[index];
}