滴滴笔试
有人教教第一题路灯怎么做吗,刚刚笔试一直RE.....
全部评论
二分吧
二分答案,
二分最小距离。
判断很简单,第一个路灯放第一个位置,然后循环,当发现距离大于等于最小距离了就放置路灯,最后判断有没有放完
贪心可以吗 从起点和终点开始每次取中间的
我甚至题目不知道最小的最大距离是什么意思😂
贪心可以的,去掉间隙最小的n-k个点
emmm我直接用了回溯找到所有的排列,但是这种做法只能27%
我直接暴力然后ac了
吐了 超时只过了27
同求大佬能具体说说,暴力只过了27%
二分做的,mid表示间隔距离,check函数里面就是pre=nums[0],遍历数组1~n-1,每次和pre的距离超过mid,就放一个路灯,cnt大于等于k就提前返回true
二分+判断,但是没想出来判断怎么写,挂0蛋
leetcode 1552原题
1.二分最大值加判断
2.双端队列BFS,cpp可以用deque实现
二分
我用的dp 放路灯的条件选择没写好 过18%
第一题:数学推一下就行了
因为c是a和b的最大公因数,那么假设a=x×c b=y×c 那么xy一定互质,然后n/c是除c外最大因数,c和c-1一定互质(除1外)。那么n/c×c 和(n/c-1)×c就是最大的乘积
如果是1的话,那么c×c就是最大的
第二题:二分距离 或者 优先队列
二分:设置一个距离,判断是否可以按照这个距离安装所有灯?如果可以,说明这个距离可能可以更大,如果不可以,说明距离需要再小一点,就一直二分答案就出来了。
优先队列:线段合并,k个路灯就是可以合并k次,一直把最小的两个合并。
相关推荐