697. 数组的度 - 应该还可以优化!!!!
发布时间:2020-12-15 05:35:47 所属栏目:Java 来源:网络整理
导读:? ? import java.util.Arrays ;class Solution { public int findShortestSubArray(int[] nums) { int size = nums.length; int max=-1; for(int i =0;isize ;i++){ if(nums[i]max){ max=nums[i]; } } int[][] mtx =new int[max+1][3]; for(int i=0;isize;i+
? ? import java.util.Arrays ; class Solution { public int findShortestSubArray(int[] nums) { int size = nums.length; int max=-1; for(int i =0;i<size ;i++){ if(nums[i]>max){ max=nums[i]; } } int[][] mtx =new int[max+1][3]; for(int i=0;i<size;i++){ int value = nums[i]; int index = i+1; int[] startEndCount = mtx[value]; if(startEndCount[0]==0){ startEndCount[0]=index; }else{ startEndCount[1]=index; } startEndCount[2]= startEndCount[2]+1; } int maxCount=-1; int returnSize = 0; for(int i=0;i<max+1;i++){ if(mtx[i][2]>maxCount){ maxCount=mtx[i][2]; returnSize = mtx[i][1]-mtx[i][0]+1; }else if(mtx[i][2]==maxCount&&(mtx[i][1]-mtx[i][0]+1)<returnSize){ returnSize= mtx[i][1]-mtx[i][0]+1; } } return returnSize<=0?1:returnSize; } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |