首页 > 其他分享 >leetcode-594. 最长和谐子序列

leetcode-594. 最长和谐子序列

时间:2023-01-01 13:55:55浏览次数:65  
标签:right 594 nums ++ maxLen 序列 leetcode left

594. 最长和谐子序列 - 力扣(Leetcode)

双指针,后面那个边界条件让我调了好几分钟

func findLHS(nums []int) int {
    sort.Ints(nums)

    left, right, maxLen := 0, 0, 0
    for {
        if nums[right] - nums[left] > 1 {
            left++
        } else if nums[right] - nums[left] < 1 {
            right++
        } else if nums[right] - nums[left] == 1 {
            subLen := right - left + 1
            if subLen > maxLen {
                maxLen = subLen
            }
            right++
        }


        if right > len(nums) - 1 {
            right = len(nums) - 1
            left++
        }

        if left >= len(nums) - 1 {
            break;
        }
    }


    return maxLen
}

标签:right,594,nums,++,maxLen,序列,leetcode,left
From: https://www.cnblogs.com/wudanyang/p/17018020.html

相关文章

  • leetcode-590. N 叉树的后序遍历
    590.N叉树的后序遍历-力扣(Leetcode)可以参考[[leetcode-589.N叉树的前序遍历]],代码差不多/***DefinitionforaNode.*typeNodestruct{*Valint......
  • leetcode-589. N 叉树的前序遍历
    589.N叉树的前序遍历-力扣(Leetcode)Go语言的切片操作方便性还不错/***DefinitionforaNode.*typeNodestruct{*Valint*Children[]*Node*......
  • [leetcode每日一题]1.1
    ​​2351.第一个出现两次的字母​​难度简单给你一个由小写英文字母组成的字符串 ​​s​​ ,请你找出并返回第一个出现 两次 的字母。注意:如果 ​​a​​ 的 第二......
  • leetcode-586. 订单最多的客户
    586.订单最多的客户-力扣(Leetcode)#WriteyourMySQLquerystatementbelowselectcustomer_numberfrom(selectcustomer_number,count(*)cntfromOrders......
  • leetcode-584. 寻找用户推荐人
    584.寻找用户推荐人-力扣(Leetcode)sql题,还是比较简单的#WriteyourMySQLquerystatementbelowselectnamefromcustomerwherereferee_id<>2orreferee_id......
  • 【排序】【数组】LeetCode 75. 颜色分类
    题目链接75.颜色分类思路题目要求按0、1、2的顺序排序,因为数量有限,所以通过两次遍历,分别将0和1交换到合适的位置,这样两次遍历之后,剩下的2就都在尾部了。代码classSol......
  • 基于LSTM的序列预测: 飞机月流量预测
    基于LSTM的序列预测:飞机月流量预测循环神经网络,如RNN,LSTM等模型,比较适合用于序列预测,下面以一个比较经典的飞机月流量数据集,介绍LSTM的使用方法和训练过程。完整的项目代......
  • 【排序贪心】【字符串】LeetCode 179. 最大数
    题目链接179.最大数思路转自宫水三叶大佬的题解对于nums中的任意两个值a和b,我们无法直接从常规角度上确定其大小/先后关系。但我们可以根据「结果」来决定a和......
  • 极客编程python入门-序列化
    序列化我们把变量从内存中变成可存储或传输的过程称之为序列化,在Python中叫pickling,在其他语言中也被称之为serialization,marshalling,flattening等等,都是一个意思。序列化......
  • leetcode-575. 分糖果
    575.分糖果-力扣(Leetcode)信息:糖果的种类总个数吃一半分析:种类大于一半,那么只能吃一半种类小于一半,那么是种类量考哈希表,有点简单,熟悉Go语法还行funcdistr......