件名の説明:
彼の投稿:
クラスのソリューション: DEF queensAttacktheKing(自己、女王:リスト[一覧[INT]]、王:リスト[INT]) - > 一覧[一覧[INT]: もし ない女王:戻る[] のres = [] 行、列 = 8.8 デフヘルパー(I、J、クイーンズ): もし 0 <= iは<ROW 及び 0 <J <COL および [I、J] でクイーンズ: 返す真 リターン偽 OPT = [0,1]、[1 、0]、[ - 1,0]、[0、-1]、[1,1]、[1、-1]、[ - 1,1]、[ - 1、-1 ]] のために、X、YでOPT: 私は王[0] + = Xの J =王[1] + Y ながら 0 <= iが<行及び 0 <= jの< COL: もし [I、J] でクイーンズ: res.append([I、 J]) 破る 他: I + = X J + = Yの リターンRES
最適化:
クラス溶液(オブジェクト): DEF queensAttacktheKing(自己、クイーン、キング): ANS = [] Q =セット([タプル(x)のための X で女王]) のための I における [-1,0,1 ] のための J で [-1,0,1 ]: もし!I = 0 又は J =!0: Xは、Yが = 王 ながら 0 <= xの<= 7 及び 0 <= Y <= 7 : もし(x、y)の中の Q : ans.append([X、Y]) ブレーク X + = Iの Y + = Jの リターン ANS