[leetcode]594. Longest Harmonious Subsequence
来源:互联网 发布:刘欢和李宗盛 知乎 编辑:程序博客网 时间:2024/06/15 07:35
We define a harmonious array is an array where the difference between its maximum value and its minimum value is exactly 1.
Now, given an integer array, you need to find the length of its longest harmonious subsequence among all its possible subsequences.
Example 1:
Input: [1,3,2,2,5,2,3,7]Output: 5Explanation: The longest harmonious subsequence is [3,2,2,2,3].
思路:定义一个map,记录数组中数字出现的次数,连续两个数字出现次数的和即为harmonious subsequence。在求最大的harmonious subsequence.
Solution:
package com.billkang;import java.util.Arrays;import java.util.LinkedHashMap;import java.util.Map;/** * @author binkang * @date May 21, 2017 */public class LongestHarmoniousSubsequence {public int findLHS(int[] nums) {if(nums.length<1) return 0;Arrays.sort(nums);Map<Integer, Integer> map = new LinkedHashMap<Integer, Integer>();for (int i = 0; i < nums.length; i++) {if (map.get(nums[i]) == null) {map.put(nums[i], 1);} else {int temp = map.get(nums[i]);map.put(nums[i], temp + 1);}}int beforeKey = 0;int beforeValue = 0;int result = 0;for(Map.Entry<Integer, Integer> entry:map.entrySet()) {if(beforeValue == 0) {beforeKey = entry.getKey();beforeValue = entry.getValue();} else {if(entry.getKey()-beforeKey == 1) {result = Math.max(beforeValue+entry.getValue(), result);}beforeKey = entry.getKey();beforeValue = entry.getValue();}}return result;}}
阅读全文
1 0
- LeetCode 594. Longest Harmonious Subsequence
- [leetcode]594. Longest Harmonious Subsequence
- [LeetCode]594. Longest Harmonious Subsequence
- [leetcode]: 594. Longest Harmonious Subsequence
- [LeetCode]594.Longest Harmonious Subsequence
- LeetCode#594. Longest Harmonious Subsequence
- leetcode 594. Longest Harmonious Subsequence
- LeetCode 594. Longest Harmonious Subsequence
- 【LeetCode】594. Longest Harmonious Subsequence
- leetcode[Longest Harmonious Subsequence]
- LeetCode-594. Longest Harmonious Subsequence(Java)
- [LeetCode]594. Longest Harmonious Subsequence<HashMap>
- 594. Longest Harmonious Subsequence
- 594. Longest Harmonious Subsequence
- 594. Longest Harmonious Subsequence
- 594. Longest Harmonious Subsequence
- 594. Longest Harmonious Subsequence
- 594. Longest Harmonious Subsequence
- BZOJ1609: [Usaco2008 Feb]Eating Together麻烦的聚餐
- 运行中进程的内存泄露
- Java 1.8 HashMap详解
- 多目标决策问题
- innodb double write buffer--buf_dblwr_write_single_page
- [leetcode]594. Longest Harmonious Subsequence
- Shell字符串
- hdu2112dijkstra
- Linux内存布局、内存分配原理
- 欧几里得游戏
- MySQL 主从同步延迟的原因及解决办法
- ATP的PKUSC2017游玩记
- 尚硅谷Spring学习笔记(一)
- LeetCode 36. Valid Sudoku