funplus笔试

扑克牌为什么没过,有大佬邦看看吗

bool isStraight(vector<int>& nums) {
        int n = nums.size();
        int zero = 0;

        int dis = 0;
        sort(nums.begin(), nums.end());
        int i;
        for (i = 0; i < n; i++) {
            if (nums[i] == 0)
                zero++;
            else break;
        }
        int not_zero_pos = i;
        for (int j = not_zero_pos; j < n - 1; j++) {
            if (nums[j + 1] == nums[j])//有相同的必然不行
                return false;
        }
        for (int j = not_zero_pos; j < n - 1; j++) {
            if (nums[j] == 1 &&
                    nums[j] >=
                    10)//特判:10~1这种情况,已升序,1之后最小要跟10,才能凑成
                return true;
        }
        for (i=not_zero_pos+1; i < n; i++) {
            dis = nums[i] - nums[i - 1] - 1;//差距
        }
        cout << dis;
        if (dis > zero)
            return false;
        return true;

    }

#秋招#
全部评论
我是看是否存在1以及最大的数是否大于9,满足就把1变成14这样去做的
1 回复 分享
发布于 2023-09-15 20:52 山西
接后续,刚刚感谢信了😓,明明只有这没全过,服了
点赞 回复 分享
发布于 2023-09-20 20:49 陕西
或者试试把joker的数量的情况枚举出来,最后再处理有A的情况,我这样做AC了
点赞 回复 分享
发布于 2023-09-15 22:18 广东
为啥有算法题目啊?我的笔试感觉做了个寂寞,全是选择题,加翻译一段英文,加如何优化游戏引擎,这笔试感觉要给我挂
点赞 回复 分享
发布于 2023-09-15 22:09 上海
这个题我只过了百分之80几,最后几十秒发现问题来不及写代码了😅
点赞 回复 分享
发布于 2023-09-15 20:50 浙江
for (int j = not_zero_pos; j < n - 1; j++) { if (nums[j] == 1 && nums[j] >= 10)//特判:10~1这种情况,已升序,1之后最小要跟10,才能凑成 return true; } 这里代码有问题吧?
点赞 回复 分享
发布于 2023-09-15 20:34 广东
没看你代码,你先看看这个案例能不能过01236,还有这个1 0 0 12 13
点赞 回复 分享
发布于 2023-09-15 20:34 重庆

相关推荐

05-23 19:33
重庆大学 Java
只学了传统后端,马上去后端实习了,在想要不要学习agent开发相关的。27秋招和26相比难度如何?
我连备胎都不是却还在...:就暑期实习而言,大厂官宣hc 比 26 多,但是我观察看应该低于 26 的,估计秋招也不简单
点赞 评论 收藏
分享
程序员小白条:一般不用左右的模块,自我评价没啥用,这个简历纯前端,然后全是CRUD,说实话我这个后端全能做
点赞 评论 收藏
分享
合适才能收到offe...:些许风霜罢了查看图片
点赞 评论 收藏
分享
评论
1
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务