题解 | #草原上的牛群分布#

草原上的牛群分布

https://www.nowcoder.com/practice/25752634aa444758843eed6ff227703a

import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     *
     * @param nums int整型一维数组
     * @return int整型
     */
    public int remove_duplicates_v3 (int[] nums) {
        // write code here
        // 双指针法:i指向下一个要存放的位置,j向后遍历
        // i 仅当 j 遍历同一个牛群的前三个时,才移动,并放入j对应的元素
        // j 一直往后移动

        if (nums.length == 0) return 0;
        if (nums.length <= 3) return 3;

        int i = 0, j = 1;
        int count = 1;
        while(j < nums.length){
            if (nums[j] == nums[j - 1]) {
                if (count < 3) {
                    nums[++i] = nums[j];
                    count++;
                }
            } else {
                nums[++i] = nums[j];
                count = 1;
            }
            j++;
        }

        return i + 1;
    }
}

全部评论

相关推荐

不愿透露姓名的神秘牛友
10-15 01:36
点赞 评论 收藏
分享
09-27 18:15
门头沟学院 C++
在努力的小牛:来告诉你 录用评估挂就是同期好几个候选人,部门负责人选了其他人。
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务