LeetCode 334 递增的三元子序列

    科技2024-04-08  86

    1.哎,出错了好多次

    class Solution { public int longestConsecutive(int[] nums) { if(nums.length==0) return 0; if(nums.length==1) return 1; Arrays.sort(nums); int max=0,pos=0,i,k=0; for(i=1;i<nums.length;i++){ if(nums[i]==nums[i-1]) k++; if(nums[i]-nums[pos]!=i-pos-k){ max=Math.max(max,i-pos-k); pos=i; k=0; } } max=Math.max(max,i-pos-k); return max; } }

     

    1.先排序

    2.记录每一段连续序列的长度,然后更新max

    但是我中间出了很多次问题,在测试例子上,

    我一开始并没有考虑重复的问题,就是0,1,1,2 然后就加了k,但是没有在更新pos的后面令k=0,

    然后类似于 0,1,1,2,4,5,6就又错了,

    总之,在统计一段连续的序列时,要考虑数组的更新 ,如果又重新开始,记得k=0

    Processed: 0.029, SQL: 8