前端練習09 同字母異序

2021-09-02 15:30:29 字數 1375 閱讀 6622

同字母異序指的是兩個字串字母種類和字母的數量相同,但是順序可能不同。

完成isanagram,接受兩個字串作為引數,返回true或者false表示這兩個字串是否同字母異序。例如:

isanagram("anagram", "nagaram") // => return true.

isanagram("rat", "car") // => return false.

我實現的方案還是比較簡單的,排序一下在比較就行了

const isanagram = (str1, str2) => [...str1].sort().join('') === [...str2].sort().join('')
還可以:

const isanagram = (str1, str2) =>  str1.length === str2.length && ![...str1].find(v => !str2.includes(v)) && ![...str2].find(v => !str1.includes(v));
還可以使用for迴圈:

const isanagram = (str1, str2) => 

let str2copy = str2;

for (let i = 0; i < str1.length; i++) else

} return str2copy.length === 0

};

在leetcode上又遇到了這道題,看了大神的**,自愧不如。

想要執行用時短,要避免型別轉換,所以直接使用了replace方法,這樣就可以實現同樣字母的替換

var isanagram = function (s, t) 

return s === t

};

執行用時116ms,而原先的方法最少都在150ms以上

因為題目中註明了,可以假設字串只包含小寫字母,那收到另外乙個題目的其他,也可以對乙個常量字串進行遍歷:

var isanagram = function (s, t) 

const alpha = 'abcdefghijklmnopqrstuvwxyz';

let reg;

for (let i = 0; i < alpha.length; i++) else

if(s.length !== t.length)

}} return s === t;

};

執行用時104ms。

前端基礎筆記09

一 透明度 1 如果定位的盒子沒有寬高,那麼預設寬高為0 2 如果給子盒子設定寬為100 那麼子盒子的寬與父盒子一樣寬 3 透明度 opacity 不透明度 賦值 opacity 0.5 取值 在0 1之間的小數 這個屬性ie6不支援,如果在ie6中設定透明,要用 filter alpha opac...

前端筆記day09

1 完 員列表的刪除功能 姓名姓別 刪除 2 vue的v for語法可以遍歷那些值,分別寫出遍歷不同值的 1 迭代數字 這是第 個p標籤 2 迭代data中的普通物件 3 迭代data中的陣列 3 文字敘述v model和v bind的差別 1 v bind動態繫結指令,預設情況下標籤自帶屬性的值是...

09 需要加強練習

有三個節點,node1是專用的master node2,node3是data ingest節點 ip node1 192.168.1.123,192.168.1.124,192.168.1.125 對單節點進行security操作,elastic的初始化密碼為elastic password 其餘賬...