目录

  • 前言
  • 一、D星群岛(全A,A了0.82的人考虑一下:四个岛,现在有两条桥1-2 3-4)
    • 代码:
  • 二、毕业旅行(全A)
    • 代码:

前言

兄弟们都会有offer的,不要慌,奥力给

一、D星群岛(全A,A了0.82的人考虑一下:四个岛,现在有两条桥1-2 3-4)

时间限制: 3000MS
内存限制: 589824KB

题目描述:
D星群岛由n个小岛组成。为了加强小岛居民之间的交流,头目决定启动一个造桥工程,将全部n个岛连接到一起。

由于受到金融危机的影响,头目要求造桥的总成本要最少,并且还规定每一座桥的成本都不能超过k万D星币。

需要注意的是,由于受到地理环境和气候影响,有些小岛之间没有办法直接造桥。

现在给你m条小岛之间的造桥成本数据以及k的值,请问这个宏伟的造桥工程是否能够顺利完成?

注意:可能边不够,也可能费用超支。

输入描述
多组输入,第1行输入一个正整数T表示输入数据的组数。
对于每一组输入数据:输入m+1行。
第1行包含三个正整数,分别表示n、m和k,n≤100,m≤1000,k≤10000,三个数字之间用空格隔开。
接下来m行表示m条小岛之间的造桥成本数据,每一行包含三个正整数,分别表示两个小岛的编号(从1开始)和这两个小岛之间的造桥成本(单位:万)。

输出描述
针对每一组输入数据,如果能够完成造桥工程输出“Yes”,否则输出“No”。

样例输入
2
3 3 400
1 2 200
1 3 300
2 3 500
3 3 400
1 2 500
1 3 600
2 3 700

样例输出
Yes
No

代码:

package didi;import java.util.ArrayList;
import java.util.HashSet;
import java.util.Scanner;/*** Created by IntelliJ IDEA.** @Author: * @Email: * @Date: 2020/9/13* @Time: 19:43* @Version: 1.0* @Description: Description*/
public class First3 {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int T = scanner.nextInt();for (int l = 0; l < T; l++) {int n = scanner.nextInt();int m = scanner.nextInt();int k = scanner.nextInt();ArrayList<Integer[]> bridges = new ArrayList<>();for (int i = 0; i < m; i++) {Integer[] bridge = new Integer[2];for (int j = 0; j < bridge.length; j++) {bridge[j] = scanner.nextInt();}if (scanner.nextInt() <= k) {bridges.add(bridge);}}/*if (bridges.size() < n - 1) {//三个岛最少也得有两座桥System.out.println("No");} else {System.out.println("Yes"); //透风小技巧 只写这部分,不写下面的能A36%}*/HashSet<Integer> connections = new HashSet<Integer>();if (!bridges.isEmpty()) {connections.add(bridges.get(bridges.size() - 1)[0]);connections.add(bridges.get(bridges.size() - 1)[1]);bridges.remove(bridges.size() - 1);}while (true) {boolean end = true;for (int i = bridges.size() - 1; i > -1; i--) {if (connections.contains(bridges.get(i)[0])|| connections.contains(bridges.get(i)[1])) {connections.add(bridges.get(i)[0]);connections.add(bridges.get(i)[1]);bridges.remove(i);end = false;}}if (end) {break;}}if (connections.size() == n) {System.out.println("Yes");} else {System.out.println("No");}}scanner.close();}
}

二、毕业旅行(全A)

时间限制: 3000MS
内存限制: 589824KB

题目描述:
小滴正在筹划他的毕业旅行。他打算去找他的外国网友们,首先第一站是法国巴黎,但是去巴黎的路线有很多,交通工具也有很多可供选择。

现在有一个结点数为n,边的条数为m的无向图表示小滴到巴黎的所有路线。其中小滴的家为结点s,巴黎为结点e,小滴出发时间为start,请问小滴最早什么时候能到达巴黎?

输入描述
单组输入,数字间有空格隔开。

第一行两个整数:结点数n,边数m(n<=1000,m<=10000)。

第二行到第m+1行每行各有三个整数:结点u,结点v,需要的时间time(1<=u,v<=n,time<50,time以小时为单位)。

最后一行为家的位置:s,巴黎的位置:e,出发时间start(1<=s,e<=n,出发时间格式为month.day/hour,小时为24小时制,出发年份默认为2020年,且一定会在2020年到达,数据保证有解。)

输出描述
最早能到达巴黎的时间e time(格式与出发时间格式相同)。

样例输入
4 4
1 2 5
1 3 6
2 4 8
3 4 6
1 4 7.9/8

样例输出
7.9/20

提示
输入样例2
4 4
1 2 25
1 3 18
2 4 28
3 4 22
1 4 7.9/8

输出样例2
7.11/0

代码:

package didi;
import java.util.*;/*** Created by IntelliJ IDEA.** @Author: 张志浩 Zhang Zhihao* @Email: 3382885270@qq.com* @Date: 2020/9/13* @Time: 20:13* @Version: 1.0* @Description: Description*/public class Second2 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);while (sc.hasNext()) {int n = sc.nextInt();int m = sc.nextInt();List<int[]>[] ways = new List[n + 1];for (int i = 0; i < n + 1; i++) {ways[i] = new ArrayList<>();}for (int i = 0; i < m; i++) {int l = sc.nextInt();int r = sc.nextInt();int cost = sc.nextInt();int[] lr = {r, cost};ways[l].add(lr);int[] rl = {l, cost};ways[r].add(rl);}int start = sc.nextInt();int tar = sc.nextInt();String time = sc.next();int[] arrived = new int[n + 1];Arrays.fill(arrived, Integer.MAX_VALUE);Deque<int[]> list = new LinkedList<>();list.add(new int[]{start, 0});while (!list.isEmpty()) {int[] cur = list.poll();int pos = cur[0];int cost = cur[1];if (cost < arrived[pos]) {arrived[pos] = cost;for (int[] arr : ways[pos]) {if (arr[1] + cost < arrived[arr[0]]) {list.add(new int[]{arr[0], arr[1] + cost});}}}}int res = arrived[tar];String out = help(res, time);System.out.println(out);}}static int[] months = {0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};public static String help(int res, String time) {String[] temp = time.split("\\.");int month = Integer.parseInt(temp[0]);temp = temp[1].split("/");int day = Integer.parseInt(temp[0]);int hour = Integer.parseInt(temp[1]);hour += res;if (hour >= 24) {day += hour / 24;hour = hour % 24;}while (day > months[month]) {day -= months[month];month++;}StringBuilder arrive = new StringBuilder();arrive.append(month).append(".").append(day).append("/").append(hour);return arrive.toString();}
}

【JAVA】滴滴-2021校招在线笔试-DE数据开发试卷-0913相关推荐

  1. 2020-09-13 滴滴-2021校招在线笔试-DE数据开发试卷

    2020-09-13 滴滴-2021校招在线笔试-DE数据开发试卷 1. D星群岛 题目: D星群岛由n个小岛组成.为了加强小岛居民之间的交流,头目决定启动一个造桥工程,将全部n个岛连接到一起.由于受 ...

  2. 【算法】滴滴-2021校招在线笔试0913 X星文

    X星文翻译 输入: 3 ABCDEFG 输出: CBAFEDG 思路: 看到区间修改值直接就想到了滑动窗口,不过在滑动的时候是以n(区间大小)为单位来滑动: package DiDi;import j ...

  3. 滴滴2016.09.06校招 在线笔试 - 2道编程题

    滴滴2016.09.06校招 在线笔试 - 2道编程题 1.连续子数组的最大和 题目描述 一个数组有N个元素,求连续子数组的最大和.例如:[-1,2,1],和最大的连续子数组为[2,1],其和为3. ...

  4. 亚马逊2015校招在线笔试1

    截图有重叠,大家将就一下.本人没有参加在线笔试,主要跟大家分享一下思路. 题目的意思就是找到从起始节点开始的定长路径,路径必须包含一个必须要到达的节点.返回所有的路径数,如果不存在这样的路径,则返回0 ...

  5. 【滴滴出行】 2019校招在线笔试

    第一题:链式调用 第二题:魔法权杖

  6. 【面试题】网易互娱(游戏)2021校园招聘在线笔试 - 服务端开发工程师[螺旋矩阵]

    昨晚做网易互娱的笔试,比较尴尬的是只能用C/C++/Java,而本人对C/C++的了解仅限于大一的课程设计(而且一年多没用过C写代码了),Java差不多看得懂代码但是没有系统的学过.无奈最后只能用py ...

  7. 【面试题】网易互娱(游戏)2021校园招聘在线笔试 - 服务端开发工程师[文件系统]

    昨晚做网易互娱的笔试,比较尴尬的是只能用C/C++/Java,而本人对C/C++的了解仅限于大一的课程设计(而且一年多没用过C写代码了),Java差不多看得懂代码但是没有系统的学过.无奈最后只能用py ...

  8. 网易2020校招笔试- 大数据开发工程师(正式批)

    目录 一.翻倍 方法一:暴力 方法二:递归 二.跳柱子 方法一:暴力,寻找能到达的最高柱子,方便我下次跳 方法二:动态规划dp 三.人数统计 方法:哈希表 四.积木 方法 如果你从本文中学习到丝毫知识 ...

  9. 【面试题】网易互娱(游戏)2020校招在线笔试-游戏研发第一批[水平线]

    伞屉国是一个以太阳能为主要发电手段的国家,因此他们国家中有着非常多的太阳能基站,链接着的基站会组合成一个发电集群.但是不幸的是伞屉国不时会遭遇滔天的洪水,当洪水淹没基站时,基站只能停止发电,同时被迫断 ...

最新文章

  1. 拉普拉斯平滑处理 Laplace Smoothing
  2. 九度OJ 1019:简单计算器 (基础题、DP)
  3. 使用Windows的分析等待链(analyze wait chain)来诊断没用响应的应用
  4. 深入理解Oracle字符串函数Translate()
  5. OpenKruise 如何实现 K8s 社区首个规模化镜像预热能力
  6. PAT甲级 -- 1053 Path of Equal Weight (30 分)
  7. WPF实现环(圆)形菜单
  8. C#判断指定文件是否存在
  9. 【JVM】垃圾回收器
  10. Nvidia League Player:来呀比到天荒地老
  11. springboot开发者工具包,自动监听内容改变,自动更新重启
  12. 【无标题】CentOS7 安装 向日葵 远程工具
  13. 单节锂离子电池充电设计
  14. love2d 乒乓球游戏
  15. 【字符串】字符串的boder和其性质、应用
  16. swift [Application] The app delegate must implement the window property if it wants to use a main 报错
  17. 2016年第七届蓝桥杯决赛心得
  18. 免费的 ChatGPT镜像网站
  19. telnet -测试端口号
  20. 成都玖益科技:店铺流量提升的意义

热门文章

  1. 数字芯片设计中的时钟分频电路,你了解多少?
  2. JS 之 图片编辑器插件
  3. 白杨SEO:如何用百度好看视频排名优化来做视频营销?
  4. 把互联网界的大牛——王煜全老师开出的书单和大家分享一下
  5. SpringBoot+Vue实现邮箱登录注册功能
  6. 天刀霸王枪服务器怎么维护了,1月31日服务器例行维护公告(已完成)
  7. c语言已知等差数列的第一项为a,等差数列练习题附答案
  8. python中小学生编程学习-推荐几个适合小白学习Python的免费网站
  9. android 9.0 SystemUI导航栏添加虚拟按键功能(三)
  10. Linux man帮助文档