Basic Algorithm Scripting
Basic Algorithm Scripting
Get Set for our Algorithm Challenges
用學過的概念回答開放式問題,練習程序猿思維
題目會很難,不要沮喪
無法招架就用 Read-Search-Ask 大招
準備好就開始吧
Reverse a String
function reverseString(str) {
str=str.split(""); // str 不會變
str=str.reverse(); // str 會變化
str=str.join(""); // str 不會變
return str;
}
reverseString("hello");官方解答
Factorialize a Number
官方解答
用遞歸,函數自己呼叫自己
Check for Palindromes
官方解答有三種版本,我的解法偏向第二種
Find the Longest Word in a String
官方解答的第二三種作法,對我來說有點不直覺
二用了
reduce()和math.max(),三用了recursiveness遞歸
我的第二種,用max
Title Case a Sentence
想這題,覺得腦袋抽筋
官方有三種解法
一,用
substr()取出字串,處理後合併二,
map()循環,直接用replace()取代,charAt()抓出字串三,
replace()取代,並用正則表達式
自己的解法,第一種
自己的解法,第二種
自己的解法,第三種
自己的解法,第四種
前面
split()分詞的目的,是為了提取第一個字以便改成大寫。但用這則表達式的話,就能直接抓取每個字的首字箭頭函數如果只執行一行,就不用加 return
自己的解法,第五種
匿名函數要用 return 回傳
Return Largest Numbers in Arrays
我自己的解法
要先宣告變數為矩陣,不然會有問題
討論區看到的一個好懂的解法
Math.max不吃矩陣,所以要加.apply
Confirm the Ending
我的解答
官方解答
Repeat a string repeat a string
push 進陣列再 join 成字串的作法好蠢阿阿阿阿阿
有人說用 while 比較省時間
concat
repeat
遞迴
Truncate a string
自己想的方法
官方的進階解答
Chunky Monkey
自己想到的作法
官方進階的解法
Slasher Flick
痾,數組截斷者
這題會不會有點簡單,雖然標題我完全看不懂什麼意思
Mutations
判斷arr[1]的字母是不是都在arr[0]出現過
我的作法
第二種
先練習 every 的用法
自己的寫法
Falsy Bouncer
去除 falsy 值,也就是 boolean 值為 false 的值
留言串看到的解法
列舉式的寫法
Seek and Destroy
從矩陣中移除後面參數出現的東西
參數物件,第一次聽到這個東西
其他解法
其他解法
其他解法
官方解法一
官方解法二
Where do I belong
我的解法
一開始忘記 sort 的特性,做了許多白工
官方的中等作法
官方的進階作法
Caesars Cipher
官方解答有三種解法
官方解法一
arr.map.call(str, callback)用在非 array 的物件(arr本身不重要)
官方解法二
fn.apply(something, array)可以把矩陣的內容當作參數個別傳入regular.test() 傳回 boolean
第三種解法
$0 代表正則表達式篩出來的內容,$1 代表內容的第一個被篩出來的部份
Last updated
Was this helpful?