摘要:知乎上這篇寫的很好大概能概括這幾個(gè)函數(shù)了大牛的解法比較實(shí)際的寫法
Description:
Given few numbers, you need to print out the digits that are not being used.
Example:unusedDigits(12, 34, 56, 78) // "09" unusedDigits(2015, 8, 26) // "3479"Note:
Result string should be sorted
The test case won"t pass Integer with leading zero
我最初的解法:
function unusedDigits() { var arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]; var arguArray = arguments; var s = ""; for (var i = 0; i < arguArray.length; i++) { var lalla = arguArray[i].toString(); s += lalla; } for (var j = 0; j < s.length; j++) { for (var k = 0; k < arr.length; k++) { if (s.charAt(j) == arr[k].toString()) { arr.splice(k, 1); } } } return arr.join(""); } unusedDigits(12, 34, 56, 78);
然后發(fā)現(xiàn)數(shù)組轉(zhuǎn)字符串沒有這么麻煩,用join("")就可以搞定,于是優(yōu)化了一下變成
function unusedDigits() { var arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]; var s=[].join.call(arguments,""); for (var j = 0; j < s.length; j++) { for (var k = 0; k < arr.length; k++) { if (s.charAt(j) == arr[k].toString()) { arr.splice(k, 1); } } } return arr.join(""); } unusedDigits(12, 34, 56, 78);
然后我在其他人的解法里看到有好多map, forEach, filter, reduce等函數(shù),之前一直也沒好好整理一下,現(xiàn)在借此機(jī)會(huì)整理一下,方便以后回顧。
知乎上這篇寫的很好:https://www.zhihu.com/question/24927450
大概能概括這幾個(gè)函數(shù)了
大牛的解法:
function unusedDigits(...args){ return "0123456789".replace(new RegExp("["+args.join("")+"]","g"), "")}
比較實(shí)際的寫法:
function unusedDigits() { return [].reduce.call(arguments, function (left, num) { (num + "").split("").map(function (digit) { left = left.replace(digit, ""); }); return left; }, "0123456789"); }
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/78621.html
摘要:我對(duì)數(shù)據(jù)結(jié)構(gòu)的學(xué)習(xí)最近在上做了一道題目,嗯,我這個(gè)渣渣沒有做出來,然后看了別人的解決方案,是時(shí)候?qū)W習(xí)一下的了。。。。。讀取對(duì)應(yīng)的鍵值,如果找不到返回鍵是函數(shù)返回一個(gè)布爾值,表示某個(gè)鍵是否在數(shù)據(jù)結(jié)構(gòu)中。 我對(duì)ES6數(shù)據(jù)結(jié)構(gòu)Map的學(xué)習(xí) 最近在CodeWars上做了一道題目,嗯,我這個(gè)渣渣沒有做出來,然后看了別人的解決方案,Map??? 是時(shí)候?qū)W習(xí)一下ES6的Map了。。。。。 以下是原題...
摘要:解題思路使用正則表達(dá)式地址轉(zhuǎn)問題描述把輸入的地址轉(zhuǎn)換為格式比如解題思路使用位移運(yùn)算符方法方法找零錢問題問題描述電影院票價(jià)為,而觀眾手中的美元面值有,。解題思路為每個(gè)面值的美元設(shè)定初始數(shù)量,然后開始對(duì)每個(gè)數(shù)組值遍歷,根據(jù)不同面值設(shè)定不同規(guī)則。 關(guān)于Codewars:這是一個(gè)用于編程練習(xí)的網(wǎng)站,支持多種編程語言。網(wǎng)站首次注冊(cè)需要完成兩道題目,之后進(jìn)入系統(tǒng),類似于打怪升級(jí)。通過完成題目來實(shí)現(xiàn)...
摘要:發(fā)現(xiàn)一個(gè)很好的練習(xí)做題網(wǎng)站都是自己做過的,先放自己的答案,再放自己覺得不錯(cuò)的其他回答。 發(fā)現(xiàn)一個(gè)很好的練習(xí)做題網(wǎng)站 Codewars 都是自己做過的,先放自己的答案,再放自己覺得不錯(cuò)的其他回答。 1. 將首字母放到后面并加上ay pigIt(This is my string)轉(zhuǎn)換成:pigIt(hisTay siay ymay tringsay) mine function...
摘要:第部分第部分第部分第部分源代碼下載每日前端實(shí)戰(zhàn)系列的全部源代碼請(qǐng)從下載代碼解讀解數(shù)獨(dú)的一項(xiàng)基本功是能迅速判斷一行一列或一個(gè)九宮格中缺少哪幾個(gè)數(shù)字,本項(xiàng)目就是一個(gè)訓(xùn)練判斷九宮格中缺少哪個(gè)數(shù)字的小游戲。 showImg(https://segmentfault.com/img/bVbkNGa?w=400&h=300); 效果預(yù)覽 按下右側(cè)的點(diǎn)擊預(yù)覽按鈕可以在當(dāng)前頁面預(yù)覽,點(diǎn)擊鏈接可以全屏預(yù)...
摘要:第部分第部分第部分第部分源代碼下載每日前端實(shí)戰(zhàn)系列的全部源代碼請(qǐng)從下載代碼解讀解數(shù)獨(dú)的一項(xiàng)基本功是能迅速判斷一行一列或一個(gè)九宮格中缺少哪幾個(gè)數(shù)字,本項(xiàng)目就是一個(gè)訓(xùn)練判斷九宮格中缺少哪個(gè)數(shù)字的小游戲。 showImg(https://segmentfault.com/img/bVbkNGa?w=400&h=300); 效果預(yù)覽 按下右側(cè)的點(diǎn)擊預(yù)覽按鈕可以在當(dāng)前頁面預(yù)覽,點(diǎn)擊鏈接可以全屏預(yù)...
閱讀 2052·2023-04-25 15:11
閱讀 3516·2021-09-23 11:57
閱讀 1388·2021-07-26 23:38
閱讀 1328·2019-08-30 15:54
閱讀 646·2019-08-30 15:53
閱讀 3257·2019-08-26 13:36
閱讀 998·2019-08-26 12:01
閱讀 2873·2019-08-23 16:21