美文网首页
最长湍流子数组

最长湍流子数组

作者: 程序员小2 | 来源:发表于2022-11-06 23:48 被阅读0次

题目:

给定一个整数数组 arr ,返回 arr 的 最大湍流子数组的长度 。

如果比较符号在子数组中的每个相邻元素对之间翻转,则该子数组是 湍流子数组 。

更正式地来说,当 arr 的子数组 A[i], A[i+1], ..., A[j] 满足仅满足下列条件时,我们称其为湍流子数组:

若 i <= k < j :
当 k 为奇数时, A[k] > A[k+1],且
当 k 为偶数时,A[k] < A[k+1];
或 若 i <= k < j :
当 k 为偶数时,A[k] > A[k+1] ,且
当 k 为奇数时, A[k] < A[k+1]。

示例 1:

输入:arr = [9,4,2,10,7,8,8,1,9]
输出:5
解释:arr[1] > arr[2] < arr[3] > arr[4] < arr[5]
示例 2:

输入:arr = [4,8,12,16]
输出:2
示例 3:

输入:arr = [100]
输出:1

java代码:

class Solution {
   public int maxTurbulenceSize(int[] arr) {
       int n = arr.length;
       int ret = 1;
       int left = 0, right = 0;

       while (right < n - 1) {
           if (left == right) {
               if (arr[left] == arr[left + 1]) {
                   left++;
               }
               right++;
           } else {
               if (arr[right - 1] < arr[right] && arr[right] > arr[right + 1]) {
                   right++;
               } else if (arr[right - 1] > arr[right] && arr[right] < arr[right + 1]) {
                   right++;
               } else {
                   left = right;
               }
           }
           ret = Math.max(ret, right - left + 1);
       }
       return ret;
   }
}

相关文章

  • 最长湍流子数组

    题目: 给定一个整数数组 arr ,返回 arr 的 最大湍流子数组的长度 。 如果比较符号在子数组中的每个相邻元...

  • LeetCode #978 Longest Turbulent

    978 Longest Turbulent Subarray 最长湍流子数组 Description:Given ...

  • LeetCode 978. 最长湍流子数组

    LeetCode 978. 最长湍流子数组 当 A 的子数组 A[i], A[i+1], ..., A[j] 满足...

  • 978. 最长湍流子数组(Python)

    难度:★★★☆☆类型:数组方法:动态规划 题目 力扣链接请移步本题传送门[https://leetcode-cn....

  • 最长重复子数组

    718. 最长重复子数组

  • 算法笔记之动态规划

    LEETCODE 718. 最长重复子数组 问题描述:给两个整数数组 A 和 B ,返回两个数组中公共的、长度最长...

  • 算法问题清单

    最大子序列和最长公共子序列最长公共子串大整数相乘/除/加数组最大乘积

  • 718. 最长公共子串

    题目:给定两个整数数组A和B,返回两个数组中最长的公共子串的长度。思路:注意和最长公共子序列的思想区分,子串要求连...

  • 子序列问题

    一些子序列问题 (持续补充) 最长上升子序列 题目 dp数组,每一个数组记录前面最长的上升序列长度。 和标程对比 ...

  • 算法分析 [最长公共问题] 2019-02-27

    1 最长公共子序列 LCS(相对顺序一致) 用二维数组记录每次遍历的状态,数组最后一个值是最长公共子序列长度 动态...

网友评论

      本文标题:最长湍流子数组

      本文链接:https://www.haomeiwen.com/subject/juqbtdtx.html