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

草原上的牛群分布

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

题目考察的知识点:数组

题目解答方法的文字分析:

对于每种相同的数,数量最多为三个,多的移除,返回移除后数组的长度
使用left指针指向下一个要放入的位置,用right向后进行遍历,遍历到满足条件的元素就覆盖到left中。

本题解析所用的编程语言:java

public class Solution {
    /**
     * 计算各个位置上牛群数量的有序分布
     *
     * @param nums int整型一维数组,表示牛群的位置数组
     * @return int整型,重新分布的数组的长度
     */
    public int remove_duplicates_v3(int[] nums) {
        if (nums.length == 0) {
            return 0;
        }
        int i = 0; 
        int count = 1;
        for (int j = 1; j < nums.length; j++) {
            if (nums[j] == nums[j - 1]) {
                if (count < 3) {
                    nums[++i] = nums[j];
                    count++;
                }
            } else {
                nums[++i] = nums[j];
                count = 1;
            }
        }
        return i + 1;
    }
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务