top of page

head1

id

Table of contents

LeetCode Arrays 101やっていき

更新日:3月1日

コーディング力低いので暇な時に LeetCodeのArrays 101をやっていくことにしました

https://leetcode.com/explore/learn/card/fun-with-arrays/521/

自分の受けるコーディング面接では感覚的にここら辺の問題が多かったので...


なんかメモすることがあればここに書いていきたいと思います。

 

2022/08/10


Max Consecutive Ones

https://leetcode.com/explore/learn/card/fun-with-arrays/521/introduction/3238/

/**
 * @param {number[]} nums
 * @return {number}
 */
var findMaxConsecutiveOnes = function (nums) {
  return Math.max(...nums.join("").split("0").map(x=>x.length))
};


 

Find Numbers with Even Number of Digits

https://leetcode.com/explore/learn/card/fun-with-arrays/521/introduction/3237/

/**
 * @param {number[]} nums
 * @return {number}
 */
var findNumbers = function(nums) {
  return nums.map((n) => String(n).length).filter((n) => n % 2 === 0).length;
};




 

Squares of a Sorted Array

https://leetcode.com/explore/learn/card/fun-with-arrays/521/introduction/3240/

/**
 * @param {number[]} nums
 * @return {number[]}
 */
var sortedSquares = function (nums) {
  return nums.map((n) => n * n).sort((a, b) => a - b);
};

ここまでやってみて思ったけど、流石に簡単すぎる。とりあえずもう少し進めていくか。

 

2022/08/11


Duplicate Zeros

https://leetcode.com/explore/learn/card/fun-with-arrays/525/inserting-items-into-an-array/3245/

/**
 * @param {number[]} arr
 * @return {void} Do not return anything, modify arr in-place instead.
 */
var duplicateZeros = function (arr) {
  for (let i = 0; i < arr.length; i++) {
    const item = arr[i];
    if (item === 0) {
      arr.splice(i, 0, 0);
      arr.splice(-1, 1);
      i++;
    }
  }
  return arr;
};

In placeで処理を書かないといけないので splice を使った。何度書いても毎回調べている気がする。

arr.splice(i, 0, 0) は i のインデックスに0を追加

arr.splice(-1, 1) は末尾から1要素削除


 

Merge Sorted Array

https://leetcode.com/explore/learn/card/fun-with-arrays/525/inserting-items-into-an-array/3253/



bottom of page