Freecodecamp 刷題記錄 前端基礎演算法

2021-10-01 09:30:55 字數 4064 閱讀 4225

翻轉字串

先把字串轉化成陣列,再借助陣列的reverse方法翻轉陣列順序,最後把陣列轉化成字串。

你的結果必須得是乙個字串

當你完成不了挑戰的時候,記得開大招』read-search-ask』。

這是一些對你有幫助的資源:

function reversestring(str) 

reversestring("hello");

計算乙個整數的階乘

如果用字母n來代表乙個整數,階乘代表著所有小於或等於n的整數的乘積。

階乘通常簡寫成n!

例如:5! = 1 * 2 * 3 * 4 * 5 = 120

當你完成不了挑戰的時候,記得開大招』read-search-ask』。

這是一些對你有幫助的資源:

function factorialize(num) 

else

} return num;

}factorialize(5);

檢查回文字串

如果給定的字串是回文,返回true,反之,返回false

如果乙個字串忽略標點符號、大小寫和空格,正著讀和反著讀一模一樣,那麼這個字串就是palindrome(回文)。

注意你需要去掉字串多餘的標點符號和空格,然後把字串轉化成小寫來驗證此字串是否為回文。

函式引數的值可以為"racecar""racecar""race car"

當你完成不了挑戰的時候,記得開大招』read-search-ask』。

這是一些對你有幫助的資源:

function palindrome(str) 

});return length;

}findlongestword("the quick brown fox jumped over the lazy dog");

句中單詞首字母大寫

確保字串的每個單詞首字母都大寫,其餘部分小寫。

像』the』和』of』這樣的連線符同理。

當你完成不了挑戰的時候,記得開大招』read-search-ask』。

這是一些對你有幫助的資源:

function titlecase(str) );

str = array.join(' ');

return str;

}titlecase("i'm a little tea pot");

找出多個陣列中的最大數

右邊大陣列中包含了4個小陣列,分別找到每個小陣列中的最大值,然後把它們串聯起來,形成乙個新陣列。

當你完成不了挑戰的時候,記得開大招』read-search-ask』。

這是一些對你有幫助的資源:

function largestoffour(arr) 

}arr[i] = m;

});return arr;

}largestoffour([[4, 5, 1, 3], [13, 27, 18, 26], [32, 35, 37, 39], [1000, 1001, 857, 1]]);

檢查字串結尾

判斷乙個字串(str)是否以指定的字串(target)結尾。

如果是,返回true;如果不是,返回false。

當你完成不了挑戰的時候,記得開大招』read-search-ask』。

這是一些對你有幫助的資源:

function confirmending(str, target) 

if (str.substring(pos) == target)

else

}confirmending("bastian", "n");

重複輸出字串

(重要的事情說3遍)

重複乙個指定的字串num次,如果num是乙個負數則返回乙個空字串。

當你完成不了挑戰的時候,記得開大招』read-search-ask』。

這是一些對你有幫助的資源:

function repeat(str, num) 

else

else

} return str;

}truncate("a-tisket a-tasket a green and yellow basket", 11);

猴子吃香蕉, 分割陣列

(猴子吃香蕉可是掰成好幾段來吃哦)

把乙個陣列arr按照指定的陣列大小size分割成若干個陣列塊。

例如:chunk([1,2,3,4],2)=[[1,2],[3,4]];

chunk([1,2,3,4,5],2)=[[1,2],[3,4],[5]];

當你完成不了挑戰的時候,記得開大招』read-search-ask』。

這是一些對你有幫助的資源:

function chunk(arr, size) 

else

} return arr;

}slasher([1, 2, 3], 2);

比較字串

(**可以吃隊友,也可以吃對手)

如果陣列第乙個字串元素包含了第二個字串元素的所有字元,函式返回true。

舉例,["hello", "hello"]應該返回true,因為在忽略大小寫的情況下,第二個字串的所有字元都可以在第乙個字串找到。

["hello", "hey"]應該返回false,因為字串"hello"並不包含字元"y"。

["alien", "line"]應該返回true,因為"line"中所有字元都可以在"alien"找到。

當你完成不了挑戰的時候,記得開大招』read-search-ask』。

這是一些對你有幫助的資源:

function mutation(arr) );

}bouncer([7, "ate", "", false, 9]);

摧毀陣列

金克斯的迫擊炮!

實現乙個摧毀(destroyer)函式,第乙個引數是待摧毀的陣列,其餘的引數是待摧毀的值。

當你完成不了挑戰的時候,記得開大招』read-search-ask』。

這是一些對你有幫助的資源:

function destroyer() );

for (var i=0; i=num)

} return array.length;

}where([40, 60], 50);

凱撒密碼

(讓上帝的歸上帝,凱撒的歸凱撒)

下面我們來介紹風靡全球的凱撒密碼caesar cipher,又叫移位密碼。

移位密碼也就是密碼中的字母會按照指定的數量來做移位。

乙個常見的案例就是rot13密碼,字母會移位13個位置。由』a』 ↔ 『n』, 『b』 ↔ 『o』,以此類推。

寫乙個rot13函式,實現輸入加密字串,輸出解密字串。

所有的字母都是大寫,不要轉化任何非字母形式的字元(例如:空格,標點符號),遇到這些特殊字元,跳過它們。

當你完成不了挑戰的時候,記得開大招』read-search-ask』。

這是一些對你有幫助的資源:

function rot13(str) 

letter = string.fromcharcode(code);

console.log((letter));

}return letter;

});return array.join("");

}rot13("serr pbqr pnzc"); // 你可以修改這一行來測試你的**

freeCodeCamp演算法基礎題記錄

1.翻轉字串 function fun str 2.返回一給定整數的階乘 function factorial num return res 3.返回給定句子中最長單詞的長度 function fun str arr.foreach item console.log res return math....

OI刷題記錄

2014 4 18 poj3264 bzoj1699 balanced lineup rmq 2014 4 19 bzoj1012 jsoi2008 最大數maxnumber noi2004 鬱悶的出納員 bzoj3224 tyvj 1728 普通平衡樹 2014 4 20 bzoj1862 105...

面試刷題記錄

寫一段 判斷乙個包括 的表示式是否合法 注意看樣例的合法規則。給定乙個表示式a,請返回乙個bool值,代表它是否合法。測試樣例 a b 5 4 返回 true 測試樣例 a b 5 4 返回 false include vector include iostream using namespace ...