携程笔试到底怎么做呀-第一题

鼠鼠太菜了,求大佬指点一下
第一题:用的全排列,加判断会不会有相邻元素之和都不是素数才统计到最终结果种,但是只通过了44%
    public static int func(int n){
        int[] used = new int[n+1];
             huisu(n,used);
             return result.size();
    }
    public static void huisu(int n,int[] used){
        if(list.size() == n){
            result.add(new ArrayList<>(list));
            return;
        }
        for(int i = 1;i <= n;i++){
            if(used[i] == 1){
                continue;
            }
            if(!list.isEmpty() &amp;&amp; !isValid(list.get(list.size()-1),i)){
                continue;
            }
            used[i] = 1;
            list.add(i);
            huisu(n,used);
            list.remove(list.size()-1);
            used[i] = 0;
        }

    }
    public static boolean isValid(int m,int n){
        if(m+n == 6 || m+n == 4 || m+n == 8 || m+n == 9){
            return true;
        }
        return false;
    }

}
全部评论
判断素数很简单 你只需要判断是否为20以内的素数(就八个)就好了,反正输入条件是2-10
点赞 回复 分享
发布于 2023-09-08 10:43 四川
你这个判断素数有问题,网上去看看吧
点赞 回复 分享
发布于 2023-09-08 10:32 重庆

相关推荐

2025-12-28 22:19
门头沟学院 Java
不敢追165女神:简历写得毫无特点,你说你要是大二或者大三找寒假实习到暑期实习这段时间,你的简历还能约到面试。但是你是研究生哥,面试官不会因为你是研究生而降低要求,反而会觉得你是研究生才学了这么一点?为什么我不找个同阶段的本科生?
简历中的项目经历要怎么写
点赞 评论 收藏
分享
2025-12-30 16:42
同济大学 C++
仁狂躁使者:哎呀,不用担心,我当时配环境配了两天,项目捋不清就问问导师能不能用ai,慢慢就清了,会好起来的
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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