全部评论
感觉像并查集呀
试试这样吧 private static void calculate(String[] number, String[] corlor, boolean[] v, int size,String lastColor,String lastNumber,int allNumber) { boolean flag=true; for(int i=0;i<size;i++ ){ if(!v[i]){ flag = false; } } if(flag){ if(allNumber>count){ count = allNumber; } return; } for(int i=0;i<size;i++){ if(v[i]){ continue; } v[i]=true; if(number[i].equals(lastNumber)||lastNumber.equals("")){ calculate(number, corlor, v, size, corlor[i], number[i],allNumber+1); } if(corlor[i].equals(lastColor)||lastColor.equals("")){ calculate(number, corlor, v, size, corlor[i], number[i],allNumber+1); } v[i] = false; } if(allNumber>count){ count = allNumber; } }
最多十张牌,可以直接建图,然后从每个点开始深搜,找到最大值即可。
就10张牌啊。全排列10!= 3e6。判断再乘10也就3e7,直接暴力写就能过。
只能想到递归dfs,你是不没剪枝
可以发个题目的链接吗
建图求最长路
n叉树遍历所有结果取最大深度可以吗?
感觉可以用并查集来处理
我试用动态规划做了一下,还行。T(n)=max1..n{T(n-1)+1},时间复杂度没分析
我有一个思路 不知道行不行 一共四十种 boolean[4] [10] 0-9 第一个颜色 10-19 第二个颜色 20-29第三个颜色 30-39第四个颜色 将存在的牌 boolean[颜色][数字]=true; 然后行 列 求和就行
相关推荐
11-18 20:04
泉州职业技术大学 算法工程师
专业嗎喽:个人信息名字太大,合到电话邮箱那一栏就行,有党员写过党,剩下其他全删,站空太大了
把实习经历丰富,放最前面,然后是个人评价,技能之类的,然后是学校信息。项目经历最后面,可以就选一个自己擅长的。
现在是学校不是92就扣分的,没必要放前面。
然后现在看重实习经历>竞赛经历(校园经历)>课程项目经历 点赞 评论 收藏
分享
点赞 评论 收藏
分享