微众银行笔试9.13

1.给n个数,取3个数拼接,输出最大数字
先取最长的三个数再字典序
import java.util.Arrays;
import java.util.Comparator;
import java.util.Scanner;

public class _wz1 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        String[] arr = new String[n];
        for (int i = 0; i<n; i++){
            arr[i] = Integer.toString(sc.nextInt());
        }
        Arrays.sort(arr, new Comparator<String>() { @Override public int compare(String o1, String o2) {
                return o1.length() == o2.length() ? o2.compareTo(o1) : o2.length()-o1.length();
            }
        });

        String[] arr2 = new String[3];
        arr2[0]  = arr[0];
        arr2[1]  = arr[1];
        arr2[2]  = arr[2];
        Arrays.sort(arr2, new Comparator<String>() { @Override public int compare(String o1, String o2) {
                return o2.compareTo(o1);
            }
        });
        for (int i = 0; i<3; i++){
            System.out.print(arr2[i]);
        }
    }
}

2.给a和b两个数,判断a经过乘或除2,4,8能否变成b,求这个最小变化次数。
中途进的笔试,没时间写了,后面写完了代码过了样例不知道对不对
思路:先求a和b之间的倍数,再求这个倍数是多少个2,再将2的幂数除以3,2和1求得乘除8,4和2的次数
import java.util.Scanner;

public class _wz2 {
    public static long log(long n)
    {
        long count = 0;
        if(n == 1)
            return 0;

        while(n > 1)
        {
            n = n>>1;	//右移 -> 除以2的1次方
            count++;
        }
        return count;
    }

    public static long Count(long a, long b,long ans){
        if ((a>b ? a%b:b%a) != 0) return -1;
        long res = a>b ? a/b:b/a;   //求倍率
        long count = 0;
        if(res==1) return 0;
        if((res&1)==1) return -1;
        else
            res = log(res); //倍率换算成多少个2

//        统计变换次数
        count += (res/3);
        res %= 3;
        count += (res/2);
        res %= 2;
        count += res;

        return count;
    }
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int T = sc.nextInt();
        for (int i = 0; i<T; i++){
            long a = sc.nextLong();
            long b = sc.nextLong();
            System.out.println(Count(a,b,0));
        }
    }
}



#微众银行笔试##微众银行23秋招笔试,是我太菜了#
全部评论
一样的,中途进去的,结果快做完第二道就没时间了
点赞 回复 分享
发布于 2022-09-14 10:22 湖南
楼主有收到面试嘛
点赞 回复 分享
发布于 2022-09-23 16:05 福建
和百度的冲突了,做完百度去的,还剩一个小时,做到第三题就15分钟,还看错了题目
点赞 回复 分享
发布于 2022-09-14 14:42 广东

相关推荐

评论
6
32
分享

创作者周榜

更多
正在热议
更多
# 长得好看会提高面试通过率吗? #
5182次浏览 51人参与
# 百度工作体验 #
316368次浏览 2232人参与
# MiniMax求职进展汇总 #
25447次浏览 323人参与
# 沪漂/北漂你觉得哪个更苦? #
1855次浏览 44人参与
# 离家近房租贵VS离家远但房租低,怎么选 #
16947次浏览 137人参与
# 春招至今,你的战绩如何? #
16737次浏览 152人参与
# 巨人网络春招 #
11594次浏览 232人参与
# 你的实习产出是真实的还是包装的? #
3470次浏览 58人参与
# HR最不可信的一句话是__ #
1213次浏览 33人参与
# AI面会问哪些问题? #
1079次浏览 29人参与
# 你做过最难的笔试是哪家公司 #
1432次浏览 24人参与
# AI时代,哪个岗位还有“活路” #
3111次浏览 54人参与
# 不考虑薪资和职业,你最想做什么工作呢? #
153000次浏览 889人参与
# 简历第一个项目做什么 #
32257次浏览 369人参与
# 军工所铁饭碗 vs 互联网高薪资,你会选谁 #
8075次浏览 43人参与
# 简历中的项目经历要怎么写? #
311326次浏览 4284人参与
# XX请雇我工作 #
51168次浏览 171人参与
# 投格力的你,拿到offer了吗? #
178453次浏览 891人参与
# 你最满意的offer薪资是哪家公司? #
77046次浏览 375人参与
# AI时代,哪些岗位最容易被淘汰 #
65036次浏览 915人参与
# 秋招白月光 #
731620次浏览 5439人参与
# 当下环境,你会继续卷互联网,还是看其他行业机会 #
187708次浏览 1123人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务