【23届秋招】滴滴算法工程师岗

本文探讨了两个算法问题:如何在保证美观的前提下,利用双指针法解决桃子打包问题,使得最大箱中桃子不超过平均值k倍;以及如何计算区间内美丽值特定的数字数量。通过实例和分析,展示了双指针在解决这类问题中的优势。

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

1.题目一

1.1 题目

小红家有桃子树,今年大丰收,共收获了n个桃子。第iii个桃子的重量是 aia_iai,但是为了装箱美观,每箱中质量最大的桃子不得超过平均值的k倍。问最大能装多少个桃子?

1.2 分析

单纯的贪心是无法解决这题的。如果只一味的装小桃子,比如1,1,100,100,100,100, 显然应该优选质量大的。比如1,2,1,5,6,7,10, 就需要掐头去尾。
针对这种问题,双指针是个很好的解法。

1.3 代码

2. 题目二

2.1 题目

每个数都有一个美丽值。它们的美丽值是由各个位上的数进行异或得到的。现在给出N个区间,以及N个对应的美丽值t,问:该区间中美丽值为t的数有多少个?
示例:

2 # 有两个区间
0 1  # 区间的左端点分别是0,1
1 10 # 区间的右端点分别是 1,10
1 1  # 美丽值为 0, 1 

在区间[0,1]中,美丽值为0的只有数字0;在区间[1,10]中美丽值为1的有1 和 10。

2.2 分析

不会写。

2.3 代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

说文科技

看书人不妨赏个酒钱?

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值