华为 OD 清单查看地址:blog.youkuaiyun.com/hihell/category_12199275.html
吃火锅
题目
入职后,导师会请你吃饭,你选择了火锅,
火锅里会在不同时间下很多菜,
不同食材要煮不同时间,才能变得刚好合适,
你希望吃到最多的刚好合适的菜,
但是你的手速不够快用m
代替手速,
每次下手捞菜后至少要过m
秒,
才能再捞(每次只能捞一个)那么用最合理的策略,
最多能吃到多少,刚好合适的菜
输入
第一行两个整数n
,m
其中n
代表往锅里下菜的个数
m
代表手速
接下来有n
行,
每行有两个数x
,y
代表第x
秒下的菜过y
秒才能变得刚好合适(1 < mn < 1000
),(1 < xy < 1000
)
输出描述
输出一个整数代表用最合理的策略,最多能吃到刚好合适的菜的数量
示例一
输入
2 1
1 2
2 1
输出
1
说明
一共下了两个菜,在第一秒下的菜,需要到第三秒吃。
在第二秒下的菜,也要到第三秒吃,所以只能吃一个
示例二
输入
3 1
1 2
1 3
2 3
输出
3
说明
一共下了三个菜,每秒捞一个,第一个在第一秒下的菜,
需要到第三秒吃,第二个在第一秒下的菜需要到第四秒吃,
在第二秒下的菜,需要到第五妙吃,所以三个都能吃
编码思路
贪心算法的问题
核心知识点
贪心算法:在每个阶段选择当前最优的解,从而希望能够得到全局最优解的算法。这种算法通常需要证明选择当前最优解能够推导出全局最优解。
排序:在本题中,需要对 arrTime 数组进行排序,得到到达时间从小到大的顺序。