2025-06-30 Daily Challenge
Today I have done leetcode's June LeetCoding Challenge with cpp
.
June LeetCoding Challenge 30
Description
Longest Harmonious Subsequence
We define a harmonious array as an array where the difference between its maximum value and its minimum value is exactly 1
.
Given an integer array nums
, return the length of its longest harmonious subsequence among all its possible subsequences.
Example 1:
Input: nums = [1,3,2,2,5,2,3,7]
Output: 5
Explanation:
The longest harmonious subsequence is [3,2,2,2,3]
.
Example 2:
Input: nums = [1,2,3,4]
Output: 2
Explanation:
The longest harmonious subsequences are [1,2]
, [2,3]
, and [3,4]
, all of which have a length of 2.
Example 3:
Input: nums = [1,1,1,1]
Output: 0
Explanation:
No harmonic subsequence exists.
Constraints:
1 <= nums.length <= 2 * 104
-109 <= nums[i] <= 109
Solution
class Solution {
public:
int findLHS(vector<int>& nums) {
map<int, int> count;
for(auto n : nums) count[n] += 1;
int answer = 0;
for(auto [n, c] : count) {
if(count.count(n + 1)) answer = max(answer, count[n] + count[n + 1]);
}
return answer;
}
};
// Accepted
// 206/206 cases passed (58 ms)
// Your runtime beats 7.95 % of cpp submissions
// Your memory usage beats 16.24 % of cpp submissions (45.5 MB)