説明
-
調和アレイは、アレイに正確1の要素の最大値と最小値の差を意味します。
-
さて、整数の配列を指定して、あなたはすべての可能なサブシーケンスにおける調和の最長シーケンスの長さを見つける必要があります。
-
入力:[1,3,2,2,5,2,3,7]
出力:5
理由:ハーモニー最長の配列である:[3,2,2,2,3]。
思考
- 配列の値の数、および値が表示されますのためのマップの統計情報を作成します。
- 最大を作成し、新興の最大数を保存します
- マップに表示される現在の値が1以上である回数のマップを行き来ルック
var findLHS = function (nums) {
let map = new Map();
for (let i = 0; i < nums.length; i++) {
if (map.has(nums[i])) {
map.set(nums[i], map.get(nums[i]) + 1)
} else {
map.set(nums[i], 1);
}
}
let max = 0;
for(let [key , value] of map){
if(map.has(key +1)){
max = Math.max(max, map.get(key +1) + map.get(key));
}
}
return max
};
概要
- マップの初期化
const map = new Map()
- それは要素が含まれているかどうかを判断するために、地図
map.has(xxx)
- マップの値を取得します。
map.get(xxx)
- 値マップを設定します。
map.set(xxx, yyy)
- マップトラバーサル
for(let [key, value] of map) { xxx }