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

草原上的牛群分布

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

  1. 题目考察的知识点

数组,双指针

  1. 题目解答方法的文字分析

判断数组长度是否小于3,小于3则直接返回数组长度。否则从1号位开始遍历数组,判断元素是否已经有3个,如果有,i指针继续向前遍历,新数组指针idx则等待未满3个元素的值出现,再记录下来

  1. 本题解析所用的编程语言

java

  1. 完整且正确的编程代码
import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     *
     * @param nums int整型一维数组
     * @return int整型
     */
    public int remove_duplicates_v3 (int[] nums) {
        //数组相同元素不超过3个不用处理
        if (nums.length <= 3) {
            return nums.length;
        }
        //第一个元素位置不用处理
        int count = 1;
        int idx = 1;
        //遍历数组
        for (int i = 1; i < nums.length; i++) {
            //相邻两个元素相同则判断是否已经有三个相同元素了
            if(nums[i]==nums[i-1]){
                //没有3个就,nums[idx++]接受nums[i]的值
                if(count<3){
                    nums[idx++]=nums[i];
                    count++;
                   
                }
            }else{
              //若元素不同,则nums[idx++]接受nums[i]的值,count置为1
                   nums[idx++]=nums[i];
                   count=1;
                }
            
        }

        return idx;
    }
}
全部评论

相关推荐

10-25 23:12
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务