道通科技校招笔试

public static int solution3(int[] arr){
        //1,4,5,7,2,4,5,4,6,4,5,4,4,4,4
        int target=arr[0];//target先设为arr[0];
        int times=1;
        for(int i=0;i<arr.length;i++){
            if(times==0){//重新设置
                target=arr[i];
                times=1;
            }
            else
            {
                if(arr[i]==target){
                    times++;
                } else {
                    times--;
                }
            }
        }
        return target;
    }

    public boolean isIpV4(String queryIP) {
        //加-1是防止出现空字符串无法计数 比如192.168.1.1. 后边多了一个点,不加-1会被忽略后边的空串
        String[] split = queryIP.split("\\.",-1);
        //个数不是4个
        if (split.length != 4) {
            return false;
        }
        for (String s : split) {
            //每个长度不在 1-3之间
            if (s.length() > 3 || s.length() == 0) {
                return false;
            }
            //有前导0 并且长度不为1
            if (s.charAt(0) == '0' && s.length() != 1) {
                return false;
            }
            //计算数字
            int ans = 0;
            for (int j = 0; j < s.length(); j++) {
                char c = s.charAt(j);
                //不是数字
                if (!Character.isDigit(c)) {
                    return false;
                }
                ans = ans * 10 + (c - '0');
            }
            //数字超过255
            if (ans > 255) {
                return false;
            }
        }
        return true;
    }

全部评论
这是线下笔试题吗
点赞 回复 分享
发布于 昨天 17:14 陕西

相关推荐

点赞 9 评论
分享
牛客网
牛客企业服务