金山云暑期Java开发笔试题2022.04.14

第一题【简单字符串题】 AC

题目描述
小明的电脑这几天出了一点问题:在输入英文的时候,有一些单词会莫名其妙地在后面重复一次或多次。例如:输入“Who are you”,有时候会变成“Who are are you”。你能否编写一个程序帮助小明去掉那些相邻的、重复出现的单词中的第二个单词?注意:
(1) 为了对问题进行简化,在输入数据中均不包含标点符号;
(2) 单词之间统一用一个英文的空格隔开;
(3)单词不区分大小写,即“Who"和"who”当做同一个单词看待;
(4)不需要考虑输入数据中本身存在两个单词重复的情况,即只要出现单词重复都需要去掉
第二个;
(5)特别的,对于多个连续出现的重复单词,只需要保留第一个。
输入描述
单组输入。 输入一个长度不超过2000的字符串,该字符串由若干个英文单词和英
文空格组成。
输出描述
输出按照要求去掉重复单词之后的字符串。
样例输入
Who are Are you
样例输出
Who are you

import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String line = sc.nextLine();
        String[] spl = line.split(" ");
        int n = spl.length;
        System.out.print(spl[0]);
        String pre = spl[0];
        for (int i = 1; i < n; ++i) {
            if (!pre.toLowerCase().equals(spl[i].toLowerCase())) {
                System.out.print(" " + spl[i]);
                pre = spl[i];
            }
        }
    }
}

第二题【快速幂】 AC

题目描述
小明在尝试把一些分子为1的分数(1/x)转化为小数。使用普通计算器的除法功能可以实
现,但是保留的小数位数非常有限。而小明希望得到n位小数,而且要从小数点后面第d位
开始的n位小数。例如,x=13,d=4,n=3时,1/13=0.07692307692....,从小数点后第四
位开始取三位数,答案是923。现在小明想要计算一些数更大的情况(2<=x<=10000,
1<=d<=1000000000,1<=n<=10000),请你写个程序帮帮他。
输入描述
一行,三个整数x,d,n,用空格隔开,含义如题干。输出描述
一行,一个字符串,所取的n位数,不需要隔开。
样例输入
13 4 3
样例输出
923

import java.util.*;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        long x = sc.nextLong();
        long d = sc.nextLong();
        long n = sc.nextLong();
        long a = 10, b = d - 1;
        long res = 1;

        while (b > 0) { // 快速幂
            if ((b & 1) == 1) {
                res = res * a % x;
            }
            a = a * a % x;
            b >>= 1;
        }
        for (long i = d; i < n + d; ++i) {
            res *= 10;
            System.out.print(res / x);
            res %= x;
        }
    }
}
#金山云##实习##笔试题目#
全部评论
为啥我第二题快速幂只ac45%啊🤣
点赞 回复 分享
发布于 2022-04-14 21:37
第二题 我卡91 第一题后面想到方法了 还没写完 最后也只有36😓
点赞 回复 分享
发布于 2022-04-14 21:50
第一题字符串那题跟你方法一样,设一个pre比较,提交之后无论怎么改都是9%😥
点赞 回复 分享
发布于 2022-04-14 21:53
楼主,题和答案对应错了😅
点赞 回复 分享
发布于 2022-04-14 22:02
第二题只过了45%,感觉需要求循环小数的吧,我好像记得lc每日一题有过类似的题目。
点赞 回复 分享
发布于 2022-04-14 22:07
第二题A了吗?
点赞 回复 分享
发布于 2022-04-14 23:33
请问有没有js版本的呀,只能a81,想知道为什么😢
点赞 回复 分享
发布于 2022-04-15 00:28
金山云是真的恶心,笔试过了就给一批人发面试邀请还要抢,抢不到的一直等,期间又给其他批次发笔试邀请,我寻思养nm的鱼呢
点赞 回复 分享
发布于 2022-04-15 09:23
有人接到面试通知了吗
点赞 回复 分享
发布于 2022-04-15 14:52
为啥5月的笔试题和4月的一模一样
点赞 回复 分享
发布于 2022-05-31 19:09
我前几天刚做的 题目一模一样
点赞 回复 分享
发布于 2022-06-01 09:41

相关推荐

8 29 评论
分享
牛客网
牛客企业服务