炉石吐司做的网站,嵌入式开发工程师需要学什么,网站推广话术,在线观看永久免费网站网址给定一个非空且只包含非负数的整数数组 nums#xff0c;数组的 度 的定义是指数组里任一元素出现频数的最大值。
你的任务是在 nums 中找到与 nums 拥有相同大小的度的最短连续子数组#xff0c;返回其长度。
来源#xff1a;力扣#xff08;LeetCode#xff09; 链接数组的 度 的定义是指数组里任一元素出现频数的最大值。
你的任务是在 nums 中找到与 nums 拥有相同大小的度的最短连续子数组返回其长度。
来源力扣LeetCode 链接https://leetcode-cn.com/problems/degree-of-an-array 著作权归领扣网络所有。商业转载请联系官方授权非商业转载请注明出处。
class Solution {public int findShortestSubArray(int[] nums) {int n nums.length;MapInteger,int[] map new HashMapInteger,int[](); for(int i 0;in;i){if(map.containsKey(nums[i])){map.get(nums[i])[0];map.get(nums[i])[2] i;}else{map.put(nums[i],new int[]{1,i,i});}}int maxNum 0;int minLen 0;for(Map.EntryInteger,int[] entry : map.entrySet()){int[] arr entry.getValue();if(maxNumarr[0]){maxNum arr[0];minLen arr[2] - arr[1]1;}else if(maxNum arr[0]){minLen Math.min(minLen,arr[2]-arr[1]1);}}return minLen;}
}HashMap中值是数组类型int[3]数组分别存储nums[i]出现的最大次数、第一次出现的下标和最后一次出现的下标。