全部评论
n = 5 sou = [['cloxy&(9665)#39;,3,0],['kcotd',2,1],['apqud&(9667)#39;,2,0],['cxmnu',1,1],['bldwz&(9669)#39;,1,1]] res = [] st = [chr(i) for i in range(97,123)] def find(sou,st,ans): k = len(ans) if k == n: for i in range(len(sou)): if sou[i][1] != 0&nbs***bsp;sou[i][2] != 0: break else: res.append(ans) else: for i in st: temp = [[x for x in sou[i]] for i in range(len(sou))] for j in range(len(sou)): if sou[j][0][k] == i: temp[j][1] -= 1 if temp[j][1] == -1: break elif i in sou[j][0]: temp[j][2] -=1 if temp[j][2] == -1: break else: temp1 = st[:] temp1.remove(i) find(temp,temp1,ans+i) find(sou,st,'') print(res[0]) —————————————————————————————————————————— 因为不知道输入的具体格式我就直接把例子输入进来了,就是一个剪枝,评论字数有限大家凑活着看吧
https://pastebin.ubuntu.com/p/3P2MCN23cM/ 考场上的做法,过了90%。题目确保唯一解的话应该有更巧妙的做法?试了一些骚操作没提升我就交了
求第三题输入样例
顶顶顶
我是将所有字母和总共出现的次数统计,然后根据出现过的字母和次数进行全排列得到符合条件的排列,再对排列进行验证 我本地是可以 不是我机考 我不是很清楚能不能过
回溯法应该可以做出来,考的时候没调出来,刚做出能过示例样例的
dfs + 剪枝 剪枝不好会导致出现错误结果 比如样例剪枝不好会出来abedf
暴力30%
近似暴力,90%。原题是找一个词,与猜测词满足(m,n)的关系;那就按位置去假定字符,关系(m,n)就会变成(m-1,n)或(m, n-1)或保持(m,n),当有了一个长度为P的单词时,若所有关系都变为(0,0),那这个词就是正确词了……过程中可以做一些优化(从70%->90%
为什么第三题我是熊妈妈和熊宝宝分食物的题,超简单,每个人题目不一样吗
python版本第三题暴力解,先根据Y的猜测把所有可能的字符取出来,然后对这些字符全排列
第三题想了各种办法程序算出来了clo d,u没算出来…我想人做这题也是联想记忆帮了忙…机器我真不知道咋做
感觉华为的笔试题难度每周都增加啊
什么岗位都是一样的编程题吗?有没有算法岗的?
相关推荐
点赞 评论 收藏
分享