携程4.1笔试【后端开发实习】

1

SQL结构分析
时间限制: 3000MS
内存限制: 589824KB
题目描述:
给定一个完整的SQL,请编写一个函数,找出SQL中的表名。部分SQL中可能生成了中间表,请不要输出这些表名。同一个表名只输出一次即可。

输入描述
完整的SQL,以两个换行结尾。

输出描述
SQL中所有的原始表名,每行一个表名。

如果有多个表名,按照出现的先后顺序输出。

样例输入

select t.id, t.name, t.tag_id
from (
    ​select user.id, user.name, tag.tag_id
    ​from user
    ​inner join user_tag
) t

样例输出

user
user_tag

2

商旅出行优惠套餐计算最低成本
时间限制: 3000MS
内存限制: 589824KB
题目描述:
携程商旅最近上线了一批优惠权益套餐,作为公司的一名采购, 为了降低公司差旅出行成本, 你决定购买员工使用频率较高的各项权益, 因此需要决定购买哪些套餐,不仅需要覆盖要求的具体权益项, 同时确保成本最低.

携程商旅提供n种不同的权益: 酒店优惠券、接送机立减券、超级会员等, value[0], value[1], ... , value[n-1]。

将各类权益组合成权益包进行出售,package[0], package[1], ... , package[m-1]每种权益包可能包含一种或多种权益。

权益包对应的价格分别为price[0], price[1], ... , price[m-1],price[i]为一个整数,代表第i个权益包对应的价格。

用户指定需要覆盖的k种权益, value[0], value[1], ... , value[k-1](1<=k<=n)

计算出所需最低花费,即从m个权益包中选取出一种组合,能够满足需要的k种权益,同时成本最低。

    如果提供的权益包组合不能满足需要的k种权益,则输出 -1

输入描述
第一行:n(如3种权益, 分别为: 1,2,3, 1<n<10000);

第二行:package

第三行:price

第四行:value

输出描述
5(权益包1 + 权益包3,满足需要的权益1,2,3, 对应价格分别为3,2成本最低)

样例输入
3
1,2 2,3 1,3
3 4 2
1 2 3
样例输出
5

提示
样例一共有3种权益 1,2,3;有三种权益组合:(1,2),(2,3),(1,3)对应的价格为:3,4,2;你需要的权益为1,2,3。
满足权益组合: 包1 + 包2 = 3 + 4 = 7元, 包1 + 包3 = 3 + 2 = 5元.
满足最低成本: 包1 + 包3 = 3+2
最终输出结果: 5

#携程##笔经#
全部评论
同投后台,做完测评后直接给发面试了,这是什么操作?刷kpi?
点赞 回复 分享
发布于 2021-04-02 18:59
大佬请问第二题怎么做😅
点赞 回复 分享
发布于 2021-04-15 17:09

相关推荐

刚刚笔试4道题只过了两道半,感觉悬了,第二题dp死活只有50%准确率,用dfs又超时了,当时一紧张完全忘了还能加memoization,唉,就是下面这道题,第二题挣扎了1个多小时导致第四题一点没碰,最后交卷前看了一眼好像不太难,亏死了你来到了一个迷宫,迷宫共有&nbsp;n&nbsp;关,每关有左侧和右侧两个宝箱,左侧宝箱的收益为&nbsp;a_i,右侧宝箱的收益为&nbsp;c_i。在每次只可以选择一个宝箱,然后到达下一关。当你在选择宝箱时,如果和上一关选择宝箱的方位相同则无损失。如果上一关选择了左侧宝箱,而这一关想要切换到右侧宝箱,那么需要支付&nbsp;b_i&nbsp;代价;如果上一关选择了右侧宝箱,而这一关想要切换到左侧宝箱,那么需要支付&nbsp;d_i&nbsp;代价(必须在进入下一关之前切换)。有些宝箱的收益和切换代价可能是负数!可以理解为,代价为负值相当于收益。你想知道,当通过&nbsp;n&nbsp;关后,总收益的最大值是多少?输入描述:本题为多组测试数据,第一行输入一个正整数&nbsp;T(1&nbsp;≤&nbsp;T&nbsp;≤&nbsp;100),代表测试数据组数。对于每组测试数据,第一行输入一个正整数&nbsp;n(1&nbsp;≤&nbsp;n&nbsp;≤&nbsp;1000),代表关卡数量。接下来有&nbsp;n&nbsp;行,每行四个整数&nbsp;a_i,&nbsp;b_i,&nbsp;c_i,&nbsp;d_i(-100&nbsp;≤&nbsp;a_i,&nbsp;b_i,&nbsp;c_i,&nbsp;d_i&nbsp;≤&nbsp;100),具体代表题意中所述的数值。这道题dp怎么做,java输出描述:对于每组测试数据,输出一个整数,代表从小红总收益的最大值。
投递携程等公司10个岗位
点赞 评论 收藏
分享
点赞 4 评论
分享
牛客网
牛客企业服务