好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

2021美团笔试题整理.doc

8页
  • 卖家[上传人]:pu****.1
  • 文档编号:548744189
  • 上传时间:2023-04-19
  • 文档格式:DOC
  • 文档大小:173KB
  • / 8 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 整理了 10 道美团笔试真题,来试试自己水平有多厉害吧1、小美是美团的一名鲜花快递员,鲜花是一种保质期非常短的商品,所以需要尽快送 到客户手中,公司对于骑手的一个要求就是要规划送花的线路,使得骑手送完所有订单走的 路程尽可能少骑手开始派送时带走了所有需要派送的花,不必每单后返回花店,路程结 算是从花店出发,到送完最后一名客户为止,不计算从最后一名客户家回到花店的时间)公司对于骑手的绩效评价是取决于两个指标,一是从花店到所有客户地址的距离之和, 另一个是骑手实际走的路程设花店始终位于 1 号位置,客户共有 n-1 个,其编号为 2~n为了简化问题,我们约束 这 n 个位置构成的是一棵树,即只有 n-1 条边在其中互相连接,且保证 n 个点彼此连通输入描述:输出第一行包含一个正整数 n,即花店和客户的总数1<=n<=30000)接下来有 n-1 行,每行有三个整数 u,v,w,表示在 u 和 v 之间存在一条距离为 w 的道路 (1<=w<=1000)输出描述:输出包含两个整数,中间用空格隔开,分别表示花店到所有客户地址的距离之和和骑手 实际走的路程答:import java.util.*;public class Main{public static void main(String[] args){Scanner s= new Scanner(System.in);int n=s.nextInt();int alldis=0;ArrayList[] graph= new ArrayList[n+1];for (int i=1;i();}for(int i=0;i queue = new LinkedList<>();queue.offer(new Node(1,0,true));while(!queue.isEmpty()){Node tempNode = queue.poll();int num=tempNode.num;for (Edge edge:graph[num]){int dis= tempNode.dis+edge.value;if (!hasVis[edge.pointTo]){queue.offer(new Node(edge.pointTo,dis,true));allDis[edge.pointTo]=dis;hasVis[edge.pointTo]=true;}}}int max=0;int sum=0;for (int i=0;imax){max=allDis[i];}}System.out.print(sum+" "+(2*alldis-max));}static class Edge{int pointTo;int value;public Edge(int pointTo,int value){this.pointTo=pointTo;this.value=value;}}static class Node{int num;int dis;boolean hasVisited;public Node(int num,int dis,boolean hasVisited){this.num=num;this.hasVisited=hasVisited;this.dis=dis;}}}2 、美团对于商家的评价体系是 1-5 星评价体系,用户在完成订单之后可以对商家打1/2/3/4/5星,而在客户端上,商家的评级却不一定是整数,而是会显示小数点后的一位。

      很显然这就需要一个计算器了,小美拥有了一些商户的评价数据,希望可以计算出商家在客户 端上显示出的评分这个评分的计算非常简单,就是对该商家的所有客户的星级评价做求一个平均,然后去 尾法显示小数点后的一位即可,例如平均得分是 3.55,则显示的是 3.5例如某商家获得了 1-5 星评价各一个,则显示的评分是(1+2+3+4+5)/5=3.0如果商家没有获得评价,则显示 0.0答:import java.util.*;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);String[] s = sc.nextLine().split(" ");float res = 0;int sub = 1;float sum1 = 0;float peopleNum = 0;for(String child:s){sum1 += Integer.parseInt(child) * sub;peopleNum += Integer.parseInt(child);sub ++;}res = sum1 / peopleNum;System.out.println(String.valueOf(res).substring(0,3));}}3、小团最近对逆序数(将一个数字逐位逆序,例如 1234 的逆序数为 4321,1100 的逆 序数为 11)特别感兴趣,但是又觉得普通的逆序数问题有点太乏味了。

      于是他想出了一个新的定义:如果一个数的 4 倍恰好是它的逆序数,那么称这两个数是 新定义下的逆序对接下来给定一正整数 n,问:不超过 n 的正整数中有多少对新定义下的 逆序对?答:import java.util.ArrayList;import java.util.List;import java.util.Scanner;public class Main {public static void main(String[] args){Scanner in = new Scanner(System.in);int n= in.nextInt();int ans=0;List list =new ArrayList<>();for(int i =1;i<=n/4;i++){if(i*4==reverse(i)) {ans++;list.add(new int[]{i,reverse(i)});}}System.out.println(ans);for (int[] l:list){System.out.println(l[0]+" "+l[1]);}}public static int reverse(int x){int ans=0;while(x!=0){ans=ans*10+x%10;x/=10;}return ans;}}4、 小团是一个旅游爱好者,快要过春节了,他想统计一下,在过去的一年中他进行过 几次旅行,于是他打开了美团 app 的订单记录,记录显示了他的购买车票的记录。

      记录是按 时间顺序给出的,已知一次旅行的线路一定是一个闭环,即起点和终点是同一个地点因此 当每找到一段闭合的行程,即认为完成了一次旅行数据保证不会出现不在闭环路径中的数 据请你在小团的购票记录中统计出他全年共进行了多少次旅行?答:import java.io.BufferedReader;import java.io.InputStreamReader;import java.io.IOException;public class Main{public static void main(String[] args)throws IOException{int sum =0;int flag=0;String target=null;BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int number =Integer.parseInt(br.readLine().trim());for(int i=0;i

      有三种搭配方式,一条领带和一件衬衫,一条裤子和一件衬衫,一个帽子和一件衬衫 卖出一套领带加衬衫可以得到 e 元,卖出一套裤子加衬衫可以得到 f 元,卖出一套帽子加衬 衫可以得到 g 元现在你需要输出最大的获利方式答:import java.util.*;public class Main{public static void main(String[] args){Scanner sc=new Scanner(System.in);int[][] money=new int[3][2];money[0][0]=sc.nextInt();money[1][0]=sc.nextInt();money[2][0]=sc.nextInt();int d=sc.nextInt();money[0][1]=sc.nextInt();money[1][1]=sc.nextInt();money[2][1]=sc.nextInt();long sum=0;Arrays.sort(money,new Comparator(){public int compare(int[] o1,int[] o2){return o2[1]-o1[1];}});for(int i=0;i<3;i++){int res=Math.min(money[i][0],d);sum=sum+(long)money[i][1]*res;d=d-res;if(d==0)break;}System.out.println(sum);}}6、小团是某综艺节目的策划,他为某个游戏环节设计了一种晋级规则,已知在这个游戏环节中每个人最后都会得到一个分数 score_i,显而易见的是,游戏很有可能出现同分的 情况,小团计划该环节晋级人数为 x 人,则将所有。

      点击阅读更多内容
      相关文档
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.