C++开发工程师笔试题目

问题
题目描述:
最近经济不景气,小A准备将持仓的股票销售一部分,他共持股有n支股票,受交易平台的限制,他每天最多只能卖出m支股票,已知第i支股票每天回亏损a_j元,即如果第k天抛售这支股票,亏损的数额是k*a_j元。
现在他还没有决定具体卖出多少支股票,所以他会给你若干询问,即如果卖出q支股票,这q支股票最少的亏损数额是多少元。

输入
输入第一行包含两个正整数n和m,表示小A持仓的股票数量和每天最多能卖出的股票数量。(1<=n,m<=50000)
输入第二行包含n个正整数,第i个数a_i表示第i支股票每天的亏损数额。(1<=a_i<=10000)接下来一行有一个正整数Q,表示询问的数量。(1<=Q<=50000)
之后有Q行,每行有一个正整数q。表示假如要卖出q支股票,最少的亏损数额是多少元。(q<=n)

输出
对于每个询问,输出对应的结果

样例输入

5 2
1 2 3 4 5
2
3
5

样例输出

7
22

题目解释
一共有5支股票,每天最多可以抛售2支
q为2,即有两个询问。
针对第一个询问3,需要抛售3只股票,当选择第1,2,3号股票时损失最小。其中第一天抛售2,3号股票,损失为5元;第二天抛售1号股票,损失为21=2元;最后合计损失为7元。
针对第二个询问5,需要抛售第1,2,3,4,5号股票。其中第一天抛售4,5号股票,损失为9元;第二天抛售2,3号股票,损失为2
2+23=10;第三天抛售1号股票,损失为31=3元;最后合计损失22元。

完整代码实现

待写

问题2
题目描述:
有n位乘客坐一列列车。列车一共会依次经过100000个站点,从1到100000编号。我们已知每一位乘客的上车站点和下车站点,但是不知道这些乘客的订票顺序。
当一位乘客订票时,他会在当前还空余的座位中选择一个他喜欢的位置,但是我们不知道乘客的喜好,所有他具体哪个位置我们是不知道的。
现在你需要计算列出最少需要安排多少个座位,可以使得无论乘客的订票情况和顺序是怎么样的,所有乘客都有座位可以坐。
举个例子,有三位乘客:
A:1---->2
B:2---->3
C:1---->3
若订票顺序是A,B,C,那么只需要两个座位就一定能满足。当A订票时,他会选择一个座位,当C订票时,可用座位只剩下一个,他会订这个剩余的座位,当B订票时,可用座位也只有一个,他会订这个座位(即最开始A的那个座位);
若订票顺序是A,B,C,那么有可能会需要三个座位,A订了一个座位,B订了与A不同的座位,此时C来订票是他只能订第三个座位。
所以对于这组例子,答案是3.

输入
第一行包含一个整数n,表示乘客的数量
1<=n<=1000
接下来n行每行包含两个整数ai,bi,表示第i位乘客的上车站点和下车站点
1<=ai<bi<=100000

输出
输出对应的答案

样例输入

10
84 302
275 327
364 538
26 364
29 286
545 955
404 415
903 942
450 405

样例输出

6

完整代码实现

待写
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
很抱歉,我无法提供关于shopee后端开发工程师笔试题的具体内容,因为我无法获取实时的笔试题目。但是,我可以给你一些关于后端开发工程师笔试题的一般性介绍和常见考点。 后端开发工程师笔试题通常涵盖以下几个方面: 1. 数据结构与算法:常见的数据结构和算法问题包括数组、链表、栈、队列、树、图等基本数据结构的实现和应用,以及排序算法、查找算法、动态规划等常见算法的理解和应用。 2. 编程语言与框架:对于后端开发工程师来说,熟练掌握至少一门编程语言(如Java、Python、C++等)以及相关的开发框架是必要的。笔试题可能会涉及语言特性、语法、面向对象编程、多线程编程等方面的问题。 3. 数据库与SQL:后端开发工程师通常需要与数据库打交道,因此对于数据库的基本概念和SQL语言的掌握是必要的。笔试题可能会涉及数据库设计、SQL查询优化、事务处理等方面的问题。 4. 网络与分布式系统:后端开发工程师需要了解网络通信的基本原理和常用协议,以及分布式系统的设计和实现。笔试题可能会涉及TCP/IP协议、HTTP协议、负载均衡、分布式缓存等方面的问题。 5. 系统设计与架构:后端开发工程师需要具备系统设计和架构的能力,能够设计高可用、可扩展、易维护的系统。笔试题可能会涉及系统设计原则、常见设计模式、微服务架构等方面的问题。 以上是一些常见的后端开发工程师笔试题考点,具体的题目可能因公司和职位要求而有所不同。希望这些信息对你有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值