HJ67 题解 | #24点游戏算法#
24点游戏算法
https://www.nowcoder.com/practice/fbc417f314f745b1978fc751a54ac8cb
#暴力枚举试一试 a=input().split() op=["+","-","*","/"] #遍历操作数 for i in a: temp=a[:]#这里拷贝一份,不要直接操作a,而且拷贝的时候还不能直接赋值为a,这样是浅拷贝,下一行操作temp也会影响a,得切片 temp.remove(i)#remove没有返回值,所以不能直接赋值给b b=temp for j in b: temp=b[:] temp.remove(j) c=temp for k in c: temp=c[:] temp.remove(k) d=temp #遍历运算符 for l in op: for m in op: for n in op: # print(eval(i+l+j+m+k+n+d[0])) ans=eval(str(eval(str(eval(i+l+j))+m+k))+n+d[0])#一步一步算,这样模拟有些情况带括号 # print(ans) # print(i,j,k,d[0]) if abs(ans-24)<0.000001: print("true") exit() else: print("false") #过啦~#华为##华为od##华为机试##华为od机试#
华为HJ103所有解法 文章被收录于专栏
这是我准备华为od面试的专属专栏,我会把自己的解法更新在里面,我会尽量写清楚自己的思路以及多写关键注释,希望对阅读的人有帮助~~~