leetcode 594. 最長和諧子序列 簡單 哈希表

題目:
在這裏插入圖片描述

分析:可以看到題目示例並不要求子序列是連續的,其實是降低了難度,只要能統計出個數即可,說到統計個數自然而然地會聯想起hashmap,使用hashmap還可以方便知道有沒有相差是1的元素

代碼:

class Solution {
    public int findLHS(int[] nums) {
        Map<Integer, Integer> map = new HashMap<>();
        for(int num : nums){
            map.put(num, map.getOrDefault(num, 0)+1);
        }
        int maxLength = 0;
        for(int num : map.keySet()){
            if(map.containsKey(num+1)){
                maxLength = Math.max(maxLength, map.get(num) + map.get(num+1));
            }
        }
        return maxLength;
    }
}

在這裏插入圖片描述
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章