9.26-涂鸦Java笔试

    //返回一个字符串中的倒数第二小的数...
    public int secondHighest(String s) {
        //排除特殊情况....
        if (s == null || s.length() == 0) {
            return -1;
        }
        LinkedHashSet<Integer> set = new LinkedHashSet<>();
        //先把数字筛选出来....并去重
        for (int i = 0; i < s.length(); i++) {
            if (s.charAt(i) <= '9' && s.charAt(i) >= '0') {
                set.add(s.charAt(i) - '0');
            }
        }
        //如果size<=1
        if (set.size() <= 1) {
            return -1;
        }
        Integer[] toArray = set.toArray(new Integer[0]);
        Arrays.sort(toArray);
        return toArray[toArray.length - 2];  //返回倒数第二个元素
    }

    //比较版本号,2021.09.01每日一题
    public int compareVersion(String version1, String version2) {
        String[] sp1 = version1.split("\\.");  //按照.分割
        String[] sp2 = version2.split("\\.");  //按照.分割
        List<Integer> list1 = new ArrayList<>();
        List<Integer> list2 = new ArrayList<>();
        //分割之后放到list中...
        Arrays.stream(sp1).forEach(e -> list1.add(Integer.parseInt(e)));  //全部解析成为int
        Arrays.stream(sp2).forEach(e -> list2.add(Integer.parseInt(e)));  //全部解析成为int

        for (int i = 0; ; ) {
            //如果前面的全部都匹配上了,但是最后另外一个比较长,只要其中一个不为0,就得return 1/-1
            if (i == list1.size() && i < list2.size()) {
                for (; i < list2.size(); i++) {
                    if (list2.get(i) != 0) {
                        return -1;
                    }
                }
                return 0;
            }
            if (i == list2.size() && i < list1.size()) {
                for (; i < list1.size(); i++) {
                    if (list1.get(i) != 0) {
                        return 1;
                    }
                }
                return 0;
            }
            //如果两者都到达了最后,并且全部都匹配上了,return 0
            if (i == list1.size() && i == list2.size()) {
                return 0;
            }
            //如果list1[i]>list2[i],那么return 1
            if (list1.get(i) > list2.get(i)) {
                return 1;
                //如果list1[i]<list2[i],那么return -1
            } else if (list1.get(i) < list2.get(i)) {
                return -1;
            } else {  //如果两者相等的话...需要继续向后进行搜索...
                i++;
            }
        }
    }

#涂鸦智能##笔经##java工程师#
全部评论
收到通知了嘛你~
点赞 回复 分享
发布于 2021-10-04 11:50
10.13晚上约10.14/10.15一面,时间好像冲突了...没时间
点赞 回复 分享
发布于 2021-10-14 02:13

相关推荐

10-14 23:01
已编辑
中国地质大学(武汉) Java
CUG芝士圈:虽然是网上的项目,但最好还是包装一下,然后现在大部分公司都在忙校招,十月底、十一月初会好找一些。最后,boss才沟通100家,别焦虑,我去年暑假找第一段实习的时候沟通了500➕才有面试,校友加油
点赞 评论 收藏
分享
11-18 09:44
Java
小白也想要offer:简历别放洋屁,搞不还还放错了,当然你投外企除外,以上纯属个人观点
点赞 评论 收藏
分享
点赞 2 评论
分享
牛客网
牛客企业服务