Zodiacsyndicate

Results 20 comments of Zodiacsyndicate

## dfs ```js const fn = (data, value) => { let res = [] const dfs = (arr, temp = []) => { for (const node of arr) { if...

```js const obj = {1:222, 2:123, 5:888} const arr = Array.from({length: 12}, (_, index) => (index + 1) in obj ? obj[index + 1] : null) console.log(arr) ```

```js function convert(list) { const res = [] const map = list.reduce((res, v) => (res[v.id] = v, res), {}) for (const item of list) { if (item.parentId === 0) {...

> @ > > > ```js > > function convert(list){ > > const res = [] > > const map = list。减少((RES,v)=>(RES [ v。ID ] = V,RES),{}) > > 为(const的...

> > ```js > > function convert(list) { > > const res = [] > > const map = list.reduce((res, v) => (res[v.id] = v, res), {}) > > for...

> > > > ```js > > > > function convert(list) { > > > > const res = [] > > > > const map = list.reduce((res, v) =>...

哈希表,时间复杂度O(m + n) m为nums1长度,n为nums2长度 ```js const intersect = (nums1, nums2) => { const map = {} const res = [] for (let n of nums1) { if (map[n]) { map[n]++...

> 你们上面都不对,这个才是正确的。 > 时间复杂度 O(n) > > ```js > let insertSection = (...args) => { > let [ first, second ] = args > let res = [] > while...

> O(min(n,m)) > `function intersect(m,n){ let sortedM = m.sort((a,b)=>a-b); let sortedN = n.sort((a,b)=>a-b) const mLength = m.length; const nLength = n.length; const intersection = [] while(sortedM.length&&sortedN.length){ const a = sortedM[0];...

* 首先,题意是要在`原地`修改数组,那么sort,concat之类的纯函数方法就是行不通的了,因为是返回新的数组,而不是在原地修改 * 其次,splice的时间复杂度是O(n),那么使用splice的算法的时间复杂度是O(n2),既然在写算法,那么就要寻求时间复杂度与空间复杂度最低的办法。 --- #### 思路:双指针 * 设定一个慢指针一个快指针,快指针每次+1, 当慢指针的值不等于0的时候也往后移动,当慢指针等于0并且快指针不等于0的时候,交换快慢指针的值,慢指针再+1 ```js function moveZero(arr) { let i = 0 let j = 0 while (j < arr.length) { if (arr[i] !==...