之前是寫在面試記錄裡的,題目有點開始多了就分割出來專門來一篇了
實現乙個函式printnum,接受乙個引數n,輸出n個遞增自然數
· 輸出的自然數不能含有7(17,71,176)或為7的倍數(14,63);如果含有7或為7的倍數,則輸出下乙個自然數;
· 支援多次呼叫,從0開始,每次自上次呼叫的末尾自然數繼續列印
· 示例:
printnum(); // 0
printnum(2); // 1,2
printnum(5); // 3,4,5,6,8
printnum(17); // 9,10,11,...,26,29,30
實現乙個函式,接受乙個url陣列作為引數,返回乙個promise
· 要求同事傳送請求獲取資源內容(傳送請求使用fetch,fetch函式說明:fetch()必須接受乙個引數——資源的路徑。無論請求成功與否,它都返回乙個promise物件,resolve對應請求的response)
· 當任意乙個資源載入成功(通過請求的status狀態即可)則將promise的狀態置為resolve的,並將該url作為resolve的引數
· 當所有的資源載入都不成功時promise狀態置為reject的
實現乙個函式sum,運算結果可以滿足如下預期結果:
sum(1, 2, 3).valueof(); // 6
sum(2, 3)(2).valueof(); // 7
sum(1)(2)(3)(4).valueof(); // 10
sum(2)(4, 1)(2).valueof(); // 9
答案鏈結
實現乙個優先佇列,使得可以這樣使用:
const priorityqueue = new priorityqueue();
priorityqueue.enqueue('優先順序2-1', 2);
priorityqueue.enqueue('優先順序1-1', 1);
priorityqueue.enqueue('優先順序1-2', 1);
priorityqueue.enqueue('優先順序3-1', 3);
priorityqueue.enqueue('優先順序2-2', 2);
priorityqueue.enqueue('優先順序1-3', 1);
priorityqueue.print(); // 按優先順序順序輸出
priorityqueue.dequeue(); // 輸出最前(類似arr.shift)
硬幣找零問題(動態規劃相關):有面額為d1...dn的硬幣,和要找零的錢數,找出所需最小硬幣個數的方案,例如:美國有以下面額(硬幣):d1=1, d2=5, d3=10, d4=25,如果要找36美分的零錢,所需最少硬幣是[1, 10, 25],即滿足如下輸出:
const mincoinchange = new mincoinchange([1, 5, 10, 25]);
console.log(mincoinchange.makechange(36)); // [1, 10, 25]
const mincoinchange2 = new mincoinchange([1, 3, 4]);
console.log(mincoinchange2.makechange(6)); // [3,3]
面試中遇到的那些程式設計題
if typeof string.prototype.countcharacters function len this.length for i 0 i len i else var max key,max num 0 for var key in obj return 測試 var str ab...
遇到的面試中的程式設計題總結
一 找出單鏈表的中間元素 思路 1 常規解法 不好 2 兩個指標,乙個指標是另乙個指標移動速度的兩倍,當快的指標指向鍊錶的尾部時,慢的指標就指向了鍊錶的中間元素。同理,可以求出單鏈表的任意倍數的位置,並且只需要掃瞄一遍單鏈表。如求指向單鏈表1 3,1 4,1 5,2 3等位置的元素。二 給定整形陣列...
前端程式設計題 模組
完成函式 createmodule,呼叫之後滿足如下要求 1 返回乙個物件 2 物件的 greeting 屬性值等於 str1,name 屬性值等於 str2 3 物件存在乙個 sayit 方法,該方法返回的字串為 greeting屬性值 name屬性值 解決 1 字面量模式 function cr...