2419. 按位与最大的最长子数组

public class Solution {
    public int LongestSubarray(int[] nums) {
      int ans = 1, ansMaxVal = nums[0];
      int maxVal = nums[0], len = ans;

      void Judge() {
        if(ansMaxVal == maxVal){
          ans = Math.Max(ans, len);
        }else if(ansMaxVal < maxVal) {
          ansMaxVal = maxVal;
          ans = len;
        }
      }

      for(int ind = 1; ind < nums.Length; ind++) {
        if(maxVal == nums[ind]) {
          len++;
        }else {
          // maxVal < nums[ind]

          Judge();

          len = 1;
          maxVal = nums[ind];
        }
      }

      Judge();
      return ans;
    }
}

你可能感兴趣的:(数据结构与算法,算法,leetcode,数据结构)