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/