美团 java笔试

一共五道编程题

第一道题

给定一行数字,除了指定需要改变的符号外,其它的都用加法。每次只改变一个符号,请你输出每次改变符号后的结果。结果保留一位小数

输入:第一个参数代表一共有多少个数,第二行代表输入的数字,第三行代表一共做了几次符号替换,第五行分为两个部分,前面一个数字代表对第几个加号做改变,改变成后面的那个符号

输出:

11.0:3-5+2+5+6=11.0

24.0: 3+5*2+5+6=24.0

。。。

/**
输入:
5
3 5 2 5 6
3
1 - 2 * 3 /
输出:
11.0 24.0 14.4 
*/

第二道题

应该是属于签到题

输入一行数字,可以对其任意两个数字的位置交换,请你输出最小的 前一个数字减去后一个数字的差的绝对值的和

/**
输入:
5
2 5 72 4 6
输出:
70
*/
public class Main2 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while (sc.hasNext()) {
            int n=sc.nextInt();
            int[] nums=new int[n];
            for (int i = 0; i < n; i++) {
                nums[i]=sc.nextInt();
            }
            Arrays.sort(nums);
            long res=0;
            for (int i = 0; i < n - 1; i++) {
                res+=Math.abs(nums[i]-nums[i+1]);
            }
            System.out.println(res);
        }

    }
}

第三道题

输入:

第一行第一个数字n代表有多少个收藏夹(收藏夹默认欣赏值为0),第二个数字m代表对收藏夹进行了m次操作

第二行opi代表第i次操作内容,0代表更新,1代表查询范围为[xi,yi]收藏夹里面的欣赏值得总和(x[i],y[i]就是后面两行的值)

第三行x[i],如果对于的opi为0的话,就代表把想x[i]收藏夹的欣赏值更新为y[i],如果对于的opi为1的话,就代表查询的左边界

第四行y[i], 如果对于的opi为0的话,就代表把想x[i]收藏夹的欣赏值更新为y[i],如果对于的opi为1的话,就代表查询的右边界

示例分析:

第一次opi=1,查询【1,3】(次数xi=1,yi=3)范围内的收藏夹的欣赏值的和,为0+0+0

第二次opi=0,更新1号收藏夹欣赏值为2

第三次opi=1,查询查询【1,3】范围内的收藏夹的欣赏值的和,为0+2+0

第四次opi=0,更新3号收藏夹欣赏值为5

第五次opi=1,查询查询【1,3】范围内的收藏夹的欣赏值的和,为0+2+5

第六次opi=0,更新4号收藏夹欣赏值为100

第七次opi=1,查询查询【1,3】范围内的收藏夹的欣赏值的和,为0+2+5

/**
输入:
4 7
1 0 1 0 1 0 1
1 1 1 3 1 4 1
3 2 3 5 3 100 3
输出:
0 2 7 7
*/

第四题

我没做,感觉应该是动态规划

第五题

计算树节点的权重,如果该节点没有子节点,则权重为1,如果有子节点,且它是绿色,则它的权重为子节点权重的和,它是红色,则它的权重为子节点权重的异或

第一行 数字n代表一个有几个节点

第二行 从节点2开始,xi代表他们父节点是谁(根节点默认为1,且没有父节点)

第三行,数字yi代表它是绿色还是2是绿色,1是红色

/**
输入:
3
1 1
2 2 2
输出:
2
*/

总结:除了签到题,我一道题都没有完整做出来,,都有没有通过的地方,感觉就是有思路,但是就是不能完全通过,为了过,加了很多if去尝试,但是没有用,应该是某些更细致的地方我不知道,而且错了它也不说是答案错了还是什么,就很难受

全部评论
第一题:除了操作的两个数,其余的数都是加法,可以先将所有数累加,然后每次操作只处理操作的两位; 第二题:贪心思路,排序最优; 第三题:单点更新+区间查询,树状数组的模板题; 第四题:贪心,每次需要将第i个杯子装满,并且消耗法力最小,可以从当前i向前枚举,同时累加所有经过杯子需要注水的量w,因为从每个杯子注入w的消耗只和当前杯子有关,所以找到一个消耗最小的位置即可; 第五题:没看~
2 回复 分享
发布于 2023-04-01 13:52 陕西
第一题咋回事,一样的思路。我只过了40,其他都过了
点赞 回复 分享
发布于 2023-04-01 23:00 北京
请问笔试题也用刷吗,就是那种选择题
点赞 回复 分享
发布于 2023-04-03 11:39 黑龙江
请问一下,只有编程题嘛,有选择题嘛?
点赞 回复 分享
发布于 2023-04-07 17:10 贵州

相关推荐

评论
12
37
分享

创作者周榜

更多
牛客网
牛客企业服务