TP-LINK二面

软件开发岗

上台阶的方法数

100级台阶,一次可以上1级或2级,问有多少种方法上完;

dp[i] = dp[i - 1] + dp[i - 2]

判断单向链表是否有环

快慢指针;

rand5如何生成rand7

要使用rand5()函数来实现rand7()函数,我们可以使用拒绝采样技术。以下是步骤和一个简单的方法:

使用两次rand5()调用生成一个范围在[0, 24]之间的随机数。

  • 如果随机数小于21,我们可以将其重新映射到[0, 6]范围内的一个数。
  • 如果随机数大于或等于21,我们将重新生成。

以下是具体的实现:

def rand5():
    # 假设这是一个已有的函数,它能返回0到4之间的一个随机数
    pass

def rand7():
    while True:
        # 使用两次rand5()生成一个0到24之间的随机数
        num = rand5() + rand5() * 5
        # 如果这个数小于21,将其映射到0到6范围内
        if num < 21:
            return num % 7

此方法保证了每个从0到6的数字都有相同的机会被返回,从而生成了一个均匀的随机分布。

randn() + n * randn()会返回[0, n^2 - 1]的随机数(即randn^2)。

全部评论

相关推荐

头像 头像
04-25 14:33
Java
美团面了大概四十分钟,全程细节拷打,面完汗流浃背,感觉过不了了,看面经吧说说你平时是怎么送餐的?===>直接傻瓜式回答拧车把就走了如果送餐途中下雨了,你会怎么办?===>回答找个地方躲着,然后就问我那订单超时怎么办,答不出来了。。。如果有个地方爆单,同时有多个不同楼层但是是同一栋楼的地方下单,可能是什么情况?===>答不出来,乱蒙了个可能在开派对,有没有大佬知道的如果到了商家,但商家还没把餐备好,你会怎么做?===>直接回答干等着了,然后感觉这样回答不太好,又补了句我可能会催催商家。。。实际送餐过程中有没有考虑过使用多部手机?===>我说配送账号就一个,没必要使用多部手机。面试官好像不太满意送到餐了,但客户一直不来取餐,你会怎么办?阻塞等待吗?===>我说会打电话催促客户,客户一直不来的话就把餐放到地点,然后拍照走人,然后问我这样做有没有考虑过外卖丢失的情况,外卖丢失怎么办,完了,又掉进坑了有没有送错餐的情况?===>我说实际没遇过这种场景,面试官又不太满意了。。。搞不懂,一定要有实际解决过出错的经验吗。。。没出错不是更好吗。。。餐箱满了,但你又接单了,餐箱放不下了,出现了Out&nbsp;Of&nbsp;Box,如何解决?===>我说一般我会每次接单前检查下餐箱容量,有空间才会接新的单,又追问这样会不会影响接单效率,如果被其它骑手抢单了怎么办?完了,又又掉进坑了。。。送餐过程有没有把外卖进行分类?===>我说我一般电动车前后有两个餐箱,前面放带有汤水易撒的,后面放比较干的外卖。总算是能答出一题了看了下我送的最快的一单,问我为什么那一单10s就送达了。===>因为客户就在店里面,当堂点外卖是为了用券。。。我这个订单是不是有点水了,但鼠鼠是真没什么订单拿得出手了做了道算法,一道贪心,给定单子信息,寻找最短配送路线,之前刷过,10分钟a出来了
点赞 评论 收藏
转发
点赞 5 评论
分享
牛客网
牛客企业服务