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

鼠鼠太菜了,求大佬指点一下
第一题:用的全排列,加判断会不会有相邻元素之和都不是素数才统计到最终结果种,但是只通过了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 重庆

相关推荐

下个早班:秒挂就是不缺人
点赞 评论 收藏
分享
Java抽象带篮子:简历怎么写可以看看我发的帖子,你的第一个是实习经历吗?那怎么写的是你的第一个练手项目呢?简历写的怎么样直接投小厂面试一下就知道了
没有实习经历,还有机会进...
点赞 评论 收藏
分享
找个工作&nbsp;学历是要卡的&nbsp;要求是高的&nbsp;技能不足是真的&nbsp;实习经验是0的&nbsp;简历无处可写是事实的&nbsp;钱不好赚是真的&nbsp;想躺平又不敢躺&nbsp;也不甘心躺&nbsp;怕自己的灵感和才华被掩埋甚至从未被自己发现&nbsp;又质疑自己是否真正有才华
码农索隆:你现在啊,你心里都明白咋回事,但是你没办法改变现状,一想到未来,你又没有信心狠下心来在当下努力。 得走出这种状态,不能一直困在那里面,哪不行就去提升哪,你一动不动那指定改变不了未来,动起来,积少成多才能越来越好
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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