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

草原上的牛群分布

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;
    }
}
全部评论

相关推荐

面试了几家,全程问项目,八股一点都不问,可惜准备了这么久
独角仙梦境:现在感觉问八股像是中场休息一样的,问几个八股放松一下再上强度
点赞 评论 收藏
分享
能干的三文鱼刷了100道题:公司可能有弄嵌入式需要会画pcb的需求,而且pcb能快速直观看出一个人某方面的实力。看看是否有面试资格。问你问题也能ai出来,pcb这东西能作假概率不高
点赞 评论 收藏
分享
05-19 15:21
已编辑
华南农业大学 Java
白火同学:你才沟通了200,说实话,北上广深杭这里面你连一座城市的互联网公司都没投满呢,更别说还有各种准一线二线城市了。等你沟通突破了三位数,还没结果再考虑转行的事吧。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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