大众点评笔试题

这篇博客讨论了大众点评如何在团购基础上增加优惠券功能,以提供更多消费者优惠。具体需求包括满200元减20元的优惠规则,不可叠加使用,以及可能的后期扩展如针对不同产品类别和打折优惠。博主要求根据这些需求实现相关功能的代码和测试代码,语言不限。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.团购(Group purchase)就是团体购物,指认识或不认识的消费者联合起来,加大与商家的谈判能力,以求得最优价格的一种购物方式。
大众点评团是中国领先的本地生活消费平台,致力于为消费者提供本地餐馆美食、电影、KTV、休闲娱乐、酒店旅游、美容保健、婚庆亲子、购物等生活服务信息。
为了更好的服务消费者,点评推出了优惠券这项功能,并且也扩张到了非常多的商户。现在计划上线一个新的业务,在团购的基础上增加优惠券功能,更大幅度的让利消费者。
现在需要实现这个功能,具体的业务需求描述如下(描述有点长,大家不用担心,题目不难):
团购的购物车里面的每一件商品为Product类,其中包含id,name,description,price,category(类型,uuid类型),count, totalPrice 等等
现在需要增加 优惠劵的功能,当用户添加完所有的商品后,有一个地方可以输入优惠劵code,当用户应用优惠劵后,购物车将自动列出优惠后的价格,包括跟使用之前的价格对比。
注意事项
a). 当前优惠劵只有一种,就是满200减20,上不封顶,例如满400减40,满600减60...未满200的不优惠
b). 优惠劵不能叠加多次使用,比如团购总价为240,使用优惠劵后变为220,不能继续再使用该优惠劵。
优惠劵类自定。属性自定。
后期优惠劵功能可能扩充,比如(后期功能可不实现,但是要提供思路和方法)
c1. 针对Product的category,比如食物,书籍,衣服,电子产品等等,该优惠劵会针对于该类型的Product,不会应用到别的category的产品
c2. 打折券,不仅仅是限制于满200减20,而是可以打折,每一个优惠劵可以有不同的折率
d). 优惠劵不能叠加使用,比如不能使用两个不同的优惠劵。但是当用户多次输入不同的优惠劵后,我们必须给用户提供更划算的优惠劵方案。
根据以上的业务需求,完成功能实现(编写相应的代码和测试代码,语言不限,可以用伪代码表示。不需要考虑界面问题)。

2.十六进制序列

 描述:有一个十六进制序列由S1S2…Sk组成,其中Sk由1到k的十六进制数字依次组成。给定一个位置i,返回第i个位置上的字符。数字i为32位int
 例如,S1S2…Sk的前200个字符为112123123412345123456123456712345678123456789123456789A123456789AB123456789ABC123456789ABCD123456789ABCDE123456789ABCDEF123456789ABCDEF10123456789ABCDEF1011123456789ABCDEF101112123456789ABCDEF10111213
 所以i=50时,字符为5,i=100时,字符为9
 要求时间复杂度小于O(n),空间复杂度O(1)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值