-
1148. Longest Harmonious SubsequenceProgramming/leetcode 2021. 2. 4. 23:51728x90
문제 그대로 써보면 최소값과 최대값이 차이가 1이 나는 모음을 조화로운 배열이라고 한다.
Input: nums = [1,3,2,2,5,2,3,7]
Output: 5
Explanation: The longest harmonious subsequence is [3,2,2,2,3].
Collections.Count로 출현 횟수를 세고, nums를 for문으로 돌면서 자기 자신을 최소값으로 하고
자신 +1을 최대값으로 가정해서 max값을 출력하면 된다.
def findLHS(self, nums: List[int]) -> int: dic = collections.Counter(nums) cnt = 0 for num in nums: # num이 최솟값이고 +1 나는게 최댓값 if num+1 in dic.keys(): cnt = max(cnt, dic[num] + dic[num+1]) return cnt
솔루션에는 brute-force방법도 있고, 나처럼 해쉬를 사용하는 방법도 있었다.
충분히 생각하고, 손으로 그려보고 하니까 한번에 코딩하고 한번에 submit 받았다.
기분이 좋구나,
'Programming > leetcode' 카테고리의 다른 글
821. Shortest Distance to a Character (0) 2021.02.08 21. Merge Two Sorted Lists (0) 2021.02.05 141. Linked List Cycle (0) 2021.02.04 234. Palindrome Linked List (0) 2021.02.04 121. Best Time to Buy and Sell Stock (0) 2021.02.02