科大讯飞大家都a了多少?

我感觉有一定的难度。#笔试##科大讯飞#
全部评论
第三题 笔试上面我是直接写的通过了。考完我自己再在idea写了一遍,本地写的没有验证正确性,思路就是记忆化计算不会掉落悬崖的次数。DONE
1 回复 分享
发布于 2021-08-28 21:06
最后一题掉悬崖的,有大佬可以在笔试之后看看代码的吗
点赞 回复 分享
发布于 2021-08-28 20:56
我第二题直接算数组当中连续相同的数,居然能过73%的样例。
点赞 回复 分享
发布于 2021-08-28 20:57
想蹲一个写出掉悬崖的大佬
点赞 回复 分享
发布于 2021-08-28 20:59
第二题超时怎么做啊
点赞 回复 分享
发布于 2021-08-28 21:01
第二题和第三题有代码吗
点赞 回复 分享
发布于 2021-08-28 21:01
第二题,a了93%,不知道怎么写了,用栈做的
点赞 回复 分享
发布于 2021-08-28 21:02
第一题a,第二题超过87%的案例,不知道是不是边界条件没考虑好,第三题一直超时,我的天
点赞 回复 分享
发布于 2021-08-28 21:05
float caculate(int Pos, int Step,  vector<vector<float>> &P) {     float Pleft = 0, Pright = 0 ;      /*步数走完肯定不会掉下去*/     if( Pos >= 0 && Pos <= 60 && Step == 0)        {         P[Pos][Step] = 1;                             return P[Pos][Step];     }      /*越界肯定会掉下去*/     if(Pos < 0 || Pos > 60)                       {         return 0;     }     /*由于会算很多组,算过了就不用再算了,不等于初始值就代表算过了*/     if(P[Pos][Step] > -0.5 )                     {         return P[Pos][Step];     }     /*在某一位置不会掉落的概率 = 向左走的概率(1/2) * 左边位置不会掉落的概率 + 向右走的概率(1/2) * 右边位置不会掉落的概率 */     Pleft  = (1/2) * caculate(Pos - 1, Step - 1, P);      Pright = (1/2) * caculate(Pos + 1, Step - 1, P);       P[Pos][Step] =  Pleft + Pright;     return P[Pos][Step]; }
点赞 回复 分享
发布于 2021-08-28 21:40
第三题,开一个61的数组记录不掉落悬崖的位置的概率,起点初始化为1。然后二重循环,外层枚举步数,内层枚举数组元素并更新概率数组。由于每走一步要么向左,要么向右,那么更新数组的方式就是将这个位置的概率平分为2,加到左右两边(用新数组接,内层循环完再复制回去)。最后累加概率。
点赞 回复 分享
发布于 2021-08-28 23:14

相关推荐

评论
1
收藏
分享
牛客网
牛客企业服务