LeetCode刷题实战594最长和谐子序列
算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试。所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 !
今天和大家聊的问题叫做 最长和谐子序列,我们先来看题面:
https://leetcode-cn.com/problems/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.
A subsequence of array is a sequence that can be derived from the array by deleting some or no elements without changing the order of the remaining elements.
和谐数组是指一个数组里元素的最大值和最小值之间的差别 正好是 1 。
现在,给你一个整数数组 nums ,请你在所有可能的子序列中找到最长的和谐子序列的长度。
数组的子序列是一个由数组派生出来的序列,它可以通过删除一些元素或不删除元素、且不改变其余元素的顺序而得到。
示例 示例 1:
输入:nums = [1,3,2,2,5,2,3,7]
输出:5
解释:最长的和谐子序列是 [3,2,2,2,3]
示例 2:
输入:nums = [1,2,3,4]
输出:2
示例 3:
输入:nums = [1,1,1,1]
输出:0
解题
https://blog.csdn.net/weixin_44560620/article/details/121435593
使用map进行计数,key为数组中的元素,value为对应元素出现的次数,首先遍历一次数组,统计出每个元素的出现次数,因为和谐数组是指一个数组里元素的最大值和最小值之间的差别 正好是 1,而和谐子序列就是在这个基础上 通过删除一些元素或不删除元素、且不改变其余元素的顺序而得到。因此我们可以发现我们不需要关心最大值和最小值出现的先后顺序,我们只关心最大值和最小值出现的总次数,又因为最大值和最小值之间的差值刚好为1,因此和谐子序列只由两个元素组成,他们的差值为1,因此我们可以遍历map,枚举所有差值为1的二元组,找出出现总次数最多的二元组,就是最长的和谐子序列class Solution {
public:
int findLHS(vector &nums) {
map m;
int res(0);
for (int i = 0; i < nums.size; ++i) {
m[nums[i]]=m.count(nums[i])?m[nums[i]]+1:1;
}
for (auto item:m){
if (m.count(item.first+1))
{
res=max(res,item.second+m[item.first+1]);
}
}
return res;
}
};
上期推文:
LeetCode1-580题汇总,希望对你有点帮助!
LeetCode刷题实战581:最短无序连续子数组
LeetCode刷题实战582:杀掉进程
LeetCode刷题实战583:两个字符串的删除操作
LeetCode刷题实战584:寻找用户推荐人
LeetCode刷题实战585:2016年的投资
LeetCode刷题实战586:订单最多的客户
LeetCode刷题实战587:安装栅栏
LeetCode刷题实战588:设计内存文件系统
LeetCode刷题实战589:N 叉树的前序遍历
LeetCode刷题实战590:N 叉树的后序遍历
LeetCode刷题实战591:标签验证器
LeetCode刷题实战592:分数加减运算
LeetCode刷题实战593:有效的正方形
是否有必要使用自动洗碗机?为什么酒店,饭店,中央厨房需要洗碗机?简单地,酒店,餐厅采用自动洗碗机,提高洗碗机的工作效率,减少洗碗工作人员的劳动力强度,并卫生健康,确保餐饮人员的健康。洗碗机和人工洗碗的优势是
如何清洁密胺餐具?目前密胺餐具已广泛用于餐馆和食堂,主要具有耐摔,纹理光滑,耐用,耐温高等特点,因此清洁密胺餐具不困难,有各种形状可选。这种餐具可以在70度的自动洗碗机上清洗,但烘干消毒温度不能超过
餐馆自动洗碗机的特点许多餐馆只关注外观装饰,外部装饰非常漂亮,非常震惊,但它在厨房里真的很脏。不要以为人工洗碗可以解决很多问题,7080度水温,可以清洁清洁餐具?答案是肯定不能的,但洗碗机设备可以。自
花七十几万买奥迪A6allroad,不是越野,不是耍帅对于要买旅行车的朋友来说,奥迪A6allroad与A6Avant的外形尺寸差不多,但是为啥A6allroad是大哥,最少都要贵九万多,有什么不同吗,答案是肯定不同,除了排气量不同,
全新奥迪Q5L家族亮相粤港澳大湾区车展,在B级豪华SUV中排第一中国是奥迪汽车全球最大单一市场,占比45以上,广东省又是中国排前三市场,其中A4L销量排第一位,A6L排第二位,Q5L排第三,在2021年粤港澳大湾区车展上,奥迪带来全新的Q5L家
2021年20元傲腾m10测试首先吐槽一句微星辣鸡,z390主板傲腾还有兼容问题,动不动就m2genieerror!这次折腾傲腾主要是因为傲腾m10确实太便宜了,20块一个包邮。系统有nvme固态了,机械硬盘正
Tutor中菲教育模式的一点思考实话实说,作为一个曾经的语文老师,我对补习班基本上是持否定态度的。在中国,由于政策性打压,补习总是一种偷偷摸摸的存在,尤其是在编教师,补习这种事基本是见不得光的,补习甚至成了罪恶的
酒店用洗碗机的特性在餐饮酒店厨房里,用人工洗碗往往有几个问题高成本,招工困难,以及餐具破损多,洗碗不干净等情况。随着商用酒店洗碗机可以很好解决了。酒店洗碗机在一定程度上改善了餐饮厨房的卫生环境,受到
大众在广东为什么卖不好,口碑坏了要花的成本超出想象在疫情期间的2020年,广东全年卖出2168760辆乘用车,比第二名的江苏多了632798辆,在广东排前十名的销量车型全是日系品牌车型,2020年全国总销量第一的一汽大众,销量最好
自动洗碗机实用吗?自动洗碗机是否好用,有必要从不同的角度判断,如方便程度,价格是否符合大多数消费者要求,安装是否方便等等。今天主要从价格及性能两方面给大家做一个简单的介绍。自动洗碗机方便吗?自动洗碗
Vidda双11宠粉玩法揭秘李佳琦在线打call送超值福利日前,双11电商节即将开启,海信旗下年轻潮牌Vidda也于今日(10月20日)启动双11宠粉行动,并公布今年的双11全平台玩法。多款Vidda品牌爆款电视机产品以双11宠粉价开放预