欢聚时代(yy) Java笔试

选择题

20道,80分,错选不得分,少选得1/2分。(这1/2的意思是得一半的分还是得0.5分?)

编程

求下一个水仙花数

水仙花数
但是题目里并没有限定说是三位数。说了一句 1 位数都是水仙花数,因为 3^1 = 3,153是水仙花数,因为153=1^3 + 5^3 + 3^3。
问输入一个数,比这个数更大一点的水仙花数是多少。

输入:108
输出:153

public class Main {

    public static void main(String[] args) {
        int n = 1000;
        String[] split = (n + "").split("");
        int length = split.length;
        narcissisticNumber(length).forEach(System.out::println);
    }


    /**
     * 比 n 更大的水仙花数
     * @param n
     * @return
     */
    public long nextNarcissisticNumber(int n) {
        // write code here
        if (n < 9) return n + 1;
        if (n >= 10 && n < 100) return 153;
        String[] digits = ("" + n).split("");
        List<Long> longs = narcissisticNumber(digits.length);
        for (Long l : longs)
            if (l > n)
                return l;
        return -1;
    }

    /**
     * 求出 n 位数的所有水仙花数
     *
     * @param n
     * @return
     */
    private static List<Long> narcissisticNumber(int n) {
        List<Long> list = new ArrayList<>();
        for (long i = (long) Math.pow(10, n - 1); i <= Math.pow(10, n) - 1; i++) {
            long sum = 0;
            long tmp = i;
            while (sum <= i && tmp != 0) {
                long every = 1;
                long mod = tmp % 10;
                for (long j = 1; j <= n; j++)
                    every *= mod;
                sum += every;
                tmp /= 10;
            }
            if (sum == i)
                list.add(sum);
        }
        return list;
    }
}

简答题

数据库三张表,两道SQL题。分值4、6。

#笔经##欢聚集团#
全部评论
sq题写的HIVE&nbsp;SQL不知道给不给分
点赞 回复 分享
发布于 2020-08-31 21:29

相关推荐

07-11 19:33
门头沟学院 Java
你怎么知道我今天git本地代码覆盖了公司的仓库代码?以前一直以为技术岗技术为王,现在深刻认识到一个人的综合实力强才是真的强。实习日记,今天也是很深刻体会到为什么说技术岗的软实力也是很重要的一个因素。Monitor本来就讲话不是很清楚,我们同组实习生都在吐槽他,我后我又是第一次接触这个新的业务,我也是那种很喜欢刨根问底的人,所以很多时候跟monitor不在一个频道上面,导致一个需求需要沟通很久。我的思维习惯是接收概念,然后自己理解之后再立马去确认是否正确。有点类似于tcc。Monitor的思维习惯是他讲一个东西,喜欢延伸到很多很远的东西,很适合那种和人聊天,喝茶,高谈阔论的那种。有点类似于sagas。因为我完全没有接触过这方面的业务,所以他讲一个东西,对于我来说就是一个新的东西,新的概念。然后呢,他直接跟我讲一个事物的逻辑,然而我却想要马上确认一下这一个事物的逻辑,每一个概念分别是什么意思,有什么作用,在这个逻辑上面会起到什么作用。然后又因为我是新接触的,所以很多时候会有理解偏差,然后monitor就会觉得我怎么这都听不懂,然后又要重头再讲一遍,相当于我每确认一次概念,他都要从头把业务流程再讲一遍,我只能够等他讲完业务流程之后我再确认我的概念有没有正确形成一个这样子的一个循环。现在看来,我已经算是理解这个业务了。其实这件事情本来就挺简单的。技术实现也不难。但是就是涉及到一个人与人沟通的问题,你不能只是坚持你自己的一个思维习惯,你要去能包容人家的思维习惯,并且尝试从人家的思维习惯里面去推演出来一个模板模型。沟通也许算是一种软实力吧,能够很清楚的把事情给讲明白,讲的通俗易懂,一针见血。Monitor是那种比较系统性的就给我解释一些东西,我是我属于那种应用性的,我只在乎什么东西对我的这个业务实现是有用的,我就只管它,我以很多时候我觉得他讲不到重点,他觉得我理解有问题。虽然这是语音转文字,但是我也看出来其实我自己表达也有一些问题。唉,要好好研究一下表达的艺术了。然后我又是那种基本每天提早一小时到岗然后下班自愿无偿加班一两个小时的人,也许因此mt还算对我有点耐心吧。一想起几乎比我早进来的实习生基本都犯过git本地直接全部覆盖远程仓库代码的错误,我就感觉少一丝愧疚了。
来offer来oc:看到monitor还以为是八股文了
牛客在线求职答疑中心
点赞 评论 收藏
分享
勇敢的90后想交流:我愿意付费上班,楼主你就安心字节待着吧,我是真的喜欢上班
点赞 评论 收藏
分享
评论
点赞
7
分享

创作者周榜

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