得物笔试 得物笔试题 0327

笔试时间:2024年03月27日

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

第一题

题目

即将进入假期的小A打算做很多作业,因为小A每天的心情不同,所以他每天可以做的作业数量可能不同。聪明的小A知道一直做作业是对身体不好的,所以需要他给自己制订一份劳逸结合的假期作业计划,也就是在每次做作业后都需要休息1天或2天(不能不休息,也不能休息大于2天),再继续做作业。爱学习的小A决定在假期的第1天或第2天开始做作业,那么他在假期内最多能做多少作业?

输入描述

第一行有1个正整数n,表示假期的天数;

第二行有n个正整数ai,表示小A每天能完成的作业数。

1≤n≤ 10000,0≤ai≤ 10000

输出描述

输出一行一个整数,表示小A在假期内最多能做的作业数。

样例输入

5

2 1 2 1 2

样例输出

6

参考题解

dp动态规划,参考leetcode打家劫舍。

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

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

const int N = 100010;
const int INF = 0x3f3f3f3f;
int f[N][2];

int main() {
    int n;
    cin >> n;
    
    f[0][0] = 0;
    f[0][1] = -INF;
    
    for (int i = 1; i <= n; i++) {
        int v;
        cin >> v;
        f[i][1] = f[i - 1][0] + v;
        f[i][0] = max(f[i - 1][1], f[i - 1][0]);
    }
    
    cout << max(f[n][0], f[n][1]) << endl;
    
    return 0;
}

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

import java.util.*;
class Main{

    static int N = 100010,n,INF = 0x3f3f3f3f;
    static int[][] f = new int[N][2];


    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        n = sc.nextInt();
        f[0][0]=0;
        f[0][1]=-INF;
        for(int i=1;i<=n;i++){
            int v = sc.nextInt();
            f[i][1] = f[i-1][0]+v;
            f[i][0] = Math.max(f[i-1][1],f[i-1][0]);
        }
        System.out.println(Math.max(f[n][0]

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

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

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

全部评论

相关推荐

恒生电子5.8号&nbsp;技术支持岗面经差不多凉经吧,面试官耳机收音有点问题,一直听不清他的提问😂,差不多十五分钟就结束了,连反问环节都给我省了😛1.自我介绍2.有遇到两个以上非常紧急的事情吗?如何处理的?3.在大学期间除去实习工作,你遇到的最崩溃的事4.大学期间你觉得最骄傲的事5.对我的实习工作内容提问6.家庭情况7.对表插入一个新字段的sql8.base武汉,提到前期需要到杭州培训9.我的工作效率如何10.关于我的自我介绍提问11.大学期间你有一直坚持做的事吗面完一个小时后收到测评(行测加性格测试),面试评价我准备了那么久的技术面经,一点没问,问的问题也是我面试这么久以来,第一次碰到的,全凭临场发挥,祝好运吧😄--------------------------------------------------------------5.10二面面经更新面试官是个非常温柔很专业的小姐姐1.自我介绍2.在实习过程中出现过错误吗?3.笔试感觉怎么样4.实习期间对接客户最深的感受是什么5.面对压力你是如何缓解的6.对恒生电子和岗位有什么理解7.对于加班是怎么看待的8.工作有遇到过技术方面的问题是什么9.学习成绩较为优异,是怎么做到的反问环节两个工作日内通知结果前面的同学让我一阵好等,面了挺久的,自己十七分钟完事😂比一面进步了两分钟,有刷到211同学也来面这个岗位,大概率过来陪跑,祝我好运吧
查看19道真题和解析 投递恒生电子股份有限公司等公司9个岗位
点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务