滴滴笔试 滴滴笔试题 0907

笔试时间:2024年09月07日 秋招

历史笔试传送门:2023秋招笔试合集

第一题

题目:最佳速通时间

小C准备参加某个游戏的速通比赛,为此他对该游戏速通了 n次,每次速通记录可以用一个数组 A={a1,a2……am}表示,其中a表示小C 从游戏开始到第i个游戏节点所花赛的时间,m 为游戏节点的个数。请根据小 C 的速通记录计算出他的理论最佳速通时间,理论最佳速通时问指:小C在每两个相邻的游戏节点之间所花费的时间均达到了历史最佳记录,在此情况下所花费的总时间。

输入描述

第一行两个正整数 n,m,表示有 n个速通记录,每个速通记录有 m 个游戏节点;

接下来n行,每行 m 个正整数,第i行的第j个数 aij表示在第i次速通记录中,从游戏开始到第j个游戏节点所花费的时间;

对于第i行数据 ai1,ai2,…, aim,满足0 < ai1  < ai2<...... < aim;

数据保证:1≤n≤300,1≤m≤300,1≤aij≤100 000 00。

输出描述

一行一个整数,表示理论的最佳速通时间。

样例输入

3 5

1 4 7 9 13

2 3 8 11 14

1 3 7 12 13

样例输出

8

参考题解

初始化一个长度为 m 的数组 a,用于存储每个游戏节点之间的最小时间差。初始值设为无穷大。初始化变量 s 用于累加理论最佳速通时间。遍历每次速通记录:对于每次速通记录,遍历每个游戏节点。计算当前游戏节点与前一个游戏节点之间的时间差,并与 a 数组中对应位置的值进行比较,取最小值。如果当前是最后一次速通记录,则将 a 数组中的值累加到 s 中。

C++:[此代码未进行大量数据的测试,仅供参考]

#include <iostream>
#include <vector>
#include <limits>
using namespace std;

int main() {
    int m, n;
    cin >> m >> n;

    vector<int> a(n, numeric_limits<int>::max());
    int s = 0;
    vector<vector<int>> nums(m, vector<int>(n));

    for (int i = 0; i < m; i++) {
        for (int j = 0; j < n; j++) {
            cin >> nums[i][j];
        }
    }

    for (int i = 0; i < m; i++) {
        int pre = 0;
        for (int j = 0; j < n; j++) {
            int cur = nums[i][j];
            a[j] = min(a[j], cur - pre);
            pre = cur;
            if (i == m - 1) {
                s += a[j];
            }
        }
    }

    cout << s << endl;
    return 0;
}

Java:[此代码未进行大量数据的测试,仅供参考]

import java.util.Scanner;
import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int m = sc.nextInt();
        int n = sc.nextInt();
        sc.nextLine(); // Consume the newline character after integers

        int[] a = new int[n];
        Arra

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

2024 BAT笔试合集 文章被收录于专栏

持续收录字节、腾讯、阿里、美团、美团、拼多多、华为等笔试题解,包含python、C++、Java多种语言版本,持续更新中。

全部评论

相关推荐

面经:1.&nbsp;多线程打印整数2.链表合并3.写一个生产者消费者模型:思路&nbsp;wait()&nbsp;和&nbsp;notify()&nbsp;方法来实现4.sql题:求和&nbsp;排序&nbsp;分页2024.6.20一面项目拷打。之前做的没什么难度,问项目难点,说了我觉得是难点的东西,但是其实解决了也没有多难,但是还是要说八股文:Java的异常体系为什么要有异常finally(这个面试官追问,你确定他会不管怎么样都会执行吗?为什么)深拷贝浅拷贝深拷贝的应用场景数据库索引索引的数据结构什么数据库用了哈希索引mysql数据库的索引结构B树的特点索引失效的场景git的常用指令git&nbsp;mergelinux:查询cpu利用率最高的进程linux:查询日志中的关键字代码讲解第一个没看懂第二个:流式编程菜鸟集团丨2025届校招官方内推启动【公司介绍】菜鸟孵化于阿里巴巴全球最大的行业电子商务生态系统中,现已成为电商物流的全球领导者,全球第一的跨境电商物流公司【岗位方向】研发类、算法类、产品类、数据类、物流类、运营类、市场拓展类、职能类【工作地点】杭州为主,深圳、香港、北京也开放需求;区域物流岗(物流园区办公):东莞、珠海、厦门、漳州、杭州、威海【内推渠道】https://jsj.top/f/fjZDnI【内推码】CN003【备注】内推码在「校园大使内推人」栏填写,欢迎私戳跟简历进度哦~填写此链米哈游接后,同学会在近期收到一封内推确认邮件,通过邮件确认后才算内推成功、才能进入菜鸟校招流程❗️投递的UU留下姓名缩写和岗位~我会跟进~
菜鸟集团
|
校招
|
超多精选岗位
点赞 评论 收藏
分享
点赞 7 评论
分享
牛客网
牛客企业服务