1
我正在嘗試完成代碼挑戰的樂趣。這是場景。使功能更具性能
寫function scramble(str1,str2)
返回true
如果str1
字符的部分可以被重新排列以匹配str2
,否則返回false
。
例如:
str1
是'rkqodlw'
和str2
是'world'
輸出應返回true
。
str1
是'cedewaraaossoqqyt'
和str2
是'codewars'
應返回true
。
str1
是'katas'
和str2
是'steak'
應返回false
。
我寫的函數有效,但需要很長時間才能執行所有可能的測試。我怎樣才能讓我的功能更高效?提前致謝。
這裏是我寫的函數:
function scramble(str1, str2) {
for (var i = 0; i < str1.length; i++) {
str2 = str2.replace(str1.charAt(i),'');
}
return str2.length == 0 ? true : false;
}
你是什麼意思「太長」 ? 'scramble(「piosdjfpasoidjfkoawmesfjatkjdsngfayksndglkjysngdlkjantokgsdannkogjmaoriewjgaeoirneorijgaeirgwoef」,「hello」)'在我的機器上需要0.06ms –
'return str2.length == 0? true:false;'可以重寫'return!str2.length;'。對於(var i = 0,j = str1.length; i
61次測試通過後,由於「完成時間超過12000ms」而出錯。 – Josh