B站笔试-8/13
我主要用的golang,第一次全A,感谢B站给的关爱。。。
PS:昨天网易互娱给笔试,结果只能用java/C/cpp,直接白卷,今天发个贴,发现插入代码也没有golang,排版一坨屎,懒得调了..
1. 24点 老递归了,
func Game24Points( arr []int ) bool { res:=isok(arr,1,arr[0]) return res } func isok(arr []int,l int,sum int)bool{ if sum==24 && l==len(arr){ return true } if l==len(arr)&&sum!=24{ return false } good:=false good=isok(arr,l+1,sum/arr[l])||isok(arr,l+1,sum+arr[l])||isok(arr,l+1,sum-arr[l])|| isok(arr,l+1,sum*arr[l]) return good }2.括号匹配,leecode热点100题里面,最简单的方式是用栈匹配,记得还有人用结构体,核心思想就是用反括号来匹配判断。
func IsValidExp( s string ) bool { l:=[]string{} for i:=0;i<len(s);i++{ if string(s[i])=="{"||string(s[i])=="("||string(s[i])=="[" { l = append(l, string(s[i])) }else if len(l)==0{ return false } else if (string(s[i])=="}"&&l[len(l)-1]=="{")||(string(s[i])==")"&&l[len(l)-1]=="(")||(string(s[i])=="]"&&l[len(l)-1]=="["){ l=l[:len(l)-1] } } if len(l)!=0{ return false }else{ return true } }3.零钱兑换,老题目了,基本人手2分钟AC吧 代码就不发了。