From 9b0742e93c24d5681740cc4131e498c184fcf988 Mon Sep 17 00:00:00 2001 From: SunnyQjm Date: Tue, 2 Jun 2020 19:33:05 +0800 Subject: [PATCH] add: homework11 --- .../image-20200602172422004.png | Bin 0 -> 19931 bytes .../image-20200602172430250.png | Bin 0 -> 19931 bytes .../image-20200602192555935.png | Bin 0 -> 19467 bytes AlgorithmHomework11.md | 95 ++++++++++++++++++ README.md | 2 +- 5 files changed, 96 insertions(+), 1 deletion(-) create mode 100644 AlgorithmHomework11.assets/image-20200602172422004.png create mode 100644 AlgorithmHomework11.assets/image-20200602172430250.png create mode 100644 AlgorithmHomework11.assets/image-20200602192555935.png create mode 100644 AlgorithmHomework11.md diff --git a/AlgorithmHomework11.assets/image-20200602172422004.png b/AlgorithmHomework11.assets/image-20200602172422004.png new file mode 100644 index 0000000000000000000000000000000000000000..016ee3d7370e576cb4dc70a5792eb431623918fc GIT binary patch literal 19931 zcmcJ%cRZH=|2KRXNhL{=B1%>^$%rzNgd`Cak(J8cdn9C(Y_gKbN=8IvkF2bSl97g4 zBqQ^Fp5Nc^y8gQF>v7%p^|(DA-_N(tr}K0k$NPA_U$5tSpFtYxXLoKtu$>@?o#&Jl zH3@>85`XTXCdWUwbY4#(h(p9VMR_fk#OWkwJ*}pd&6}~NR}3f4yXibWlzsC@svEk3>|@mPv$^35Oo>b%k9l;pm0Yj10+rf3h*QB!{X;#W`j${nIp zroq3F`~KIz5J6;k)ggkOg7j*FgNpQ5#DBen>=6^`jpTXRKT>(LQcAZE!7VU#r6d$T8JkobI?;$vd}JxzwyVfx?fxnE`zOLPC|Brs-v(=XW zJQcs)hhl<?cGJA^ zr>ZB9Ca3JRyrZMzojZIoUjP1lkL12EVry$VH`Ww3YHMIHJoEXrX~zlMul4;7yYP&( z8wGvZOhgNeS;M%)-wD;22s8bBpLDI#Ly8!g9wia@VeXuJl|D4GkUo##^sB_vB8X*oWiW z?`*$9k=t7&t9Qyit18Ff(#IT)-%EuCGG!4?mR@ok{7M=}JRCQsQp7hi12#89{O_@+ z%1M56l_@^&Yg=FH4P33P_nZ6^{M#Irnj}fg0CFizJ1)$DrAJiiS?yn@4zcvU0t)* zsKpJ3iiBQ8mx_ur-QC@Gb6*?c;+RxbRf7}@Z}nuzU+`F%j4miBh>q6w_TEfA9Y_!! zrwlmgqhn(!2yv@Hb8G8egs_Onzsa1J1d)}MO02~k&(eAo{$s~VPt8!(^4AGkAt3!prWEu-bQy{ zR!CB^ikZ>jM3Nd;&h^UNTz(Oeg6GehK79Dl+?Z_7IIW;vl=aQdFcfAY z_pPq3CY3I#)zQX==~ea~ZgqaW(nocp6)tl|%@Lf0Pi<{2p3AON%LHHDce|>UNj_bQ zXq7F5+?^*`S+{-z)B80$vwd#~zQOASORe zU333LKDf5?9o6v5b*s!G`aksUOefji%9>pGU^{t&($v7k!Xo#_V&lj_J@WJ z4(gHnj{N?;OIG~&@#yI2ZIt9Jw67f|G~<@X!elEio6%9%v!xW|(^R}A{Vbu*oqu1C zvs<1W6}VRNNST9wi<_OG{u?pZKPJ9%KIz7aN=kqJt-XK$zL4}IdgVemyONSpiuZ<; z#_j!~%o6Hda;^d`b!Clijf7A3kH^PHbM!6s`dF?TI7~9KhJ_8iR?IUwYjD=`nttYz zyY&zcA$R)pSluq!DAjs?zmk%Y1PN#G2y1MyOcGEY=LY!H8ac(YN_y+mqQzuU*)fg(CJ=>4Gv3-phv>w{vGt#`&BVFBWEJ z^NWh4Jy*mSbuu$EQRVaP5*+l~!kQwLImQ+5iuiSRV;BZ0YU=1TojB&bv9?>UR>L|$ z*<)qI?o+S&?VH`c?u3s4y;pBfpXJQ0&yKdcSOceSE>RH474M{Mmtw8lmVO%;^l?w6 zl-k=peH)ln*?gb5fl0z@upwmMclrXJyT!%D)8E#cBf05=Od3P?V?GK9tgo$E4Oa@# z2NA@_mj=(f%!QdQ>FHTmS{~fH_e{Fxi`-mvPBf~dq%U{M4>B+~jMn-uFS|V3`k$vv zN0F+bd+l1Q8J_XbN#|dKiHR)Y2?C5E+bHio{KYCnFoCu|kSNKGZ9pc?TO@O#~|=Hog~@#BS51*_Lu)7=YCOl@qwEXA1$f3g4M z&~Yne}cj21#m&D>gD;BAhxf`Yn**+RPp${MSefUt}zGS7SSYKT&ck$vy7Z=Hp z2F%vSk00mjqE#oUFa7ybtIjVVQ2hF}gs`wi?w)|T?}Lh!m6hZ*n_J%CB5&Wm?cnG* zdX_6v>PGFoD@A6_mlfE<#Vz`M{t~{+mxLLO9;Kuh=;%Dp$Z#5|1{N?hHFf;a7SHCj zeB;X-$2cZR?Dj2NjvDA()z)@goW64Ube-SUU2n?E@7%s^cJt=x9jEyjr^d&p`wP-u zyx5s=WZp&Qzym7c-Me?yMhR0NU%oCZJTO;0LUuh`r|V#dbZT09PxqI?^=VmKNg2O( z4gNiQnQmE$sW&J^e{*thU|?hvyi)kAy!;w__-SdxI&i8c#bCU9_a_WbSv%t3n`}_ zU^#nwaxyck>xqPF-kRFluRRxJi;If<$Y*Cq>$dD*q@)C3%hcliK-{@=hsk<;W(HGZ zy3}^;z9M^)y1{F!FQvA;4=P$N)@7Z0_Hv(}Wr(a_OifqHal_rElJ}#Keo;>Mpw30p!yd#wL`I z938#zwP6Q=28mxbP;`^<$!F~a;8sth4&&qH#iD;d(Kt3Is8?!eW%aO)obqc} zhwg>(I5jgz$At(^z@@t(A*%B7@;7fj*Wh_oTEiKW0F{v^mI#OiA zLPD+;nVmm+S8GjjJ(~JaM9BuleoU3MxKwYgd?#kdUBJL0q#*@(D*?c6Rc4-tmbE zbnE!Xk7+rn=z}PkYgJTL`S|z_van>FPcSn!j>I&Hi;GK6rX}ct6hD3XMEKxha&%r| zS-e&zQ1}^WW(2{IuKQ79=V2{^s+_ zxKko7!_gE)9%hrbC;m`YL~croS2OoBuI~?Qns|CqS@FTbS&1`L72czx4YiMNst&Ij z%8#tYO?0g%Zg{DCpYzPhs>~{GJ|xJ`uC6b#TT@q;T8E5`SXo{5USH4&Qmp-MSKzwx zccQ1gt&N<5qTta>xkJ^Jo7?tqY3b;MG#DK}emq?H!_d$vZ0Pu7H?#j}zq?9hYHDh; z_a(p8e}1yH0I!Fnj0-w^+RajAT)P2TT3UizzqbVJZ*6JO)YKHW9-@hjxn62RW^b=^ z`SMVieV`(Hd;GDco}NnupK5Cr4jw!xIhe1Ti|vK3?(6Ft6T{e+I=4J$EW;Z1z^c8y z{l||V2M$>Oy=`6+msYy1tYXwv^}-!3Lk@#?-g=M2b>h$7Jhn`J>S9u6s=5|8ow35x zZMW}b|CrRi!8f4iq%ib$u*HKa;V|8{`;_b#^-rHpDwVQ}3@duA*RCiNo}01Gb+D1= z=+Wl3wh!Ii!J(n`GRjN}sreNZ9+MxkbXDZ#eNosJ+mqD2u~LI&_B(d$*hxe42v-4dQ;Qy()L@yy~8?q16Dn zLygq0bj-h*j~u6#B-g2B{+r%+B;Y>x?aE(Cy`U~4Zw`sL9Qj~#+vK>VNHWKNGmOio z-i7QgK00+-yJsoc)eklk@W#inG^U_YRdoOH~%jf*#DBc zUDsN=O3NzK-`&j~TY9U9i;azK`ba|i#>&)7e}&PF_0{v|&lmh{YikP)r8)4x%*2F& zm6er&K};!0=}>@K)5C*m8Ed~w++1Bf|1@LRegmKc@KEFG865Q3So`OaojrhctZo@&$nX+=UC?fk}!yHz=zp zPsLzNfT3+vp#c-b+GgVe=B3}mnD_KS&tANk`DoxRASlS%pmda>rOf{4)3mfO7OAg4 zek`^MRVj09F10M7*o}>ipHcpPR8U0okVUG{xQW)q18Bf?{>KBLv^+H(9UT>w77&7A zrLF3Tk_D!%jN~`^V?&$9Fjr1$35GSbwzW|b_x$~D1o1QSadKk!d0>IS%CIeecBEWT zQ%gMM`R2`=m3J$fi=|F8pF;N^%gxQDYL8Y)2YCDb{d*+W`NEPCD&p_LLUdG=a(cIv z{f~Dsp(g46b*3y)X>p;|D%u zU5eJyH84ntjxM$xQ{pr|AuY`&<1*WImaRFRn}Y-Wqi*czrHr=ZldCm;ThSO>uCWOA z3wX|aDh9wgd$#G|MD4A%e#;~cu*0vIf zC*4bmiY|#SO}(t*3Red7UR|6yCM--4Hf4H2icf($h>`h!*RNmayPS&(n62BDZ|Cmr zZXT}yU@+9^XliC=SEjdh>(;Yp&+->!Wu4<^TwPtQTlM<$tr_D7?G()pC25_;d_;+d zAtp9f=t`kUXYT1hT5y0pd-mY@i^h9kjaph%@KP)R*6zJ9&*yJ|Df!yNAkb}nTBPBk=?6M6gc(6T87?8&=tMD z*F{2vq9I5L*9p{ZY-9w`3Ed__>TYCY&(9QZTH;-6Yg*5Q&EKr-Y+fOuz%9!j8$)m1 z_tP|1ZLa_BnzX@1%FB}l*3He%>XukQvJh0;x81+<-!b<^i-A8fthM`b$8zQ5$en5fPDrfdN2+_4RcOAIvmtuzZ=w<_i0t>W+@b1M5UY zMITGr8tLlB0Rd0yL`6o)d3wIp;7JrQZe0CcC98EVNYQR#Qrm@}J}Ce1 z`sz~a&OvGCU-b{Mj9eFz`K9G{_$#o6y#~)3IDolglzR1qr9#{uND4?4!S7HK{r})lCY!&pCSpF;IKji`f0%Wf)Q3@ zUIBF6Lg-bvh)7DhtS!$GKIP88jkFz|ol~Ujsjw;Z2qL$>vy-lTY2#F=KT}k6G$$8V zxA`m2)kV^N6cf|P`f%*#`;q^t9CY^dd@eK%@%60e1q zHmocEammPdfVI?RE3$`kaC1Xe%F;qBQc3G_`Zc&MB@*3@F~s!t?Gv}UIkdAifBp0P zJ0AY{@qt9ay^M_5@$>&YFfY>6d;9tp=R0JfGJM8dU=Lqgo9}q>;>Bz(8Y6yCaPr1( zr$sE$*m^S1e6Xv%mVSLfIkJamW@T+VCCr2d)xS*p*2B)L1Xv!+7q09uJ5mEZ<*k$5 z&0Dw1!03V$yN8CnfMjgP8p}#cc^Hk02K4pyvke~FfmLEhp_gQ8P5M%7O-xEEXtlU= zr`%faa#l^T-NX~YHQKJY+jj)#_!+1AI+$)l8!d8$fTKGNJxl~ z!!I>6;}U;f6XmDKeq;D1`l6m5OX2`ecYi;1!xJzJ85tQ~-t6bke`1#Vsp|s^XH?LIUpQ0+NJ(x zAUZ#MZ~zs=lbo2E+Db*WF=em`3X0LDuC5OL1(nSMD-YgmQE?ucXmx)-)6fIRWD5%m zC@YOiTgYp|WH&NbzGF*(`jl-A?D*N*{$PU(h2ny%cX$5{Mwh_BddkD4HAVnJgQ~Cd zY`SVJX(Q25n>>$v^zNOq`M_~;@!COOUoz+pT3VE(0Rg2+%fhWLU?*fa&>n)2J|rC@ z!W8=I)vNJw^W()I*QRH|7Sooz)+U zZCknf`SWK;IYYg@ds$dm4j$Y|&~5jJx(nDrNqz$x_V?Q*R$>JD3Bz_k7X}6f^INx2 z;?0ADgXp*e1N#X>Jj6S9TG5e`A&dO}Qoc0al_qSap`*ji%oY*d2$c&v*6;>_`3QX< z%$kG{O+;Onhu^Az-Zh1>)x9jp$+@H9yfdzwGPpln3%kKd?nkbZuH6CyLF=xk&y+TY25n{ zW6og25d@XrMFWFfUljQncdR_!Z5NtFawuv zg;bltQd<|9p--RO(66>_+lKA}UAiOrq#x@A?AB6~@ju^NagW04!sKgfYfsMh0`z|R z^ag@CP#7USTs_AT;)Qm5X{n>X$3L>IMl?rQNC z7Z$>BL8+lz-t$DSZfS0|wYRUMav>9WRRK&OM z-(Tn!u#1Z?wnXz4PVI(%)Y94t#PwxxFkrIxNx>dM4ibfeLMDpyN+I5%r9~#F0qX785fU66JTfx!{=GUgGjqd>2S!mL${e+>dlTPZh!^D)5_*X%O-rk5 zXfR!z9ssk&xI-Hu^3A)RlBQ=sZb(STG$%I~mwLQtLv{6&%uF6BsrUvXsS_t4?`k=& za*2vYG@FQviAhRH$*Ug7Q00i|?9}*9Qc=aCKCJKDze5BY45FlkxI5Mq8@H2@@coHyI7stEs-eS~oo* z;o6leS2Q#<&Yba|rlP&V$gfN6qh;E^f8p<6{1e^A6Vk9Ed)K>nJpBCp+}vA(Ywm5^ z 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 H4DbG5pIa8= literal 0 HcmV?d00001 diff --git a/AlgorithmHomework11.assets/image-20200602172430250.png b/AlgorithmHomework11.assets/image-20200602172430250.png new file mode 100644 index 0000000000000000000000000000000000000000..016ee3d7370e576cb4dc70a5792eb431623918fc GIT binary patch literal 19931 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 z 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 H4DbG5pIa8= literal 0 HcmV?d00001 diff --git a/AlgorithmHomework11.assets/image-20200602192555935.png b/AlgorithmHomework11.assets/image-20200602192555935.png new file mode 100644 index 0000000000000000000000000000000000000000..1a8ed87c98ca03e0fae3970f9dfe8cd42565b6d8 GIT binary patch literal 19467 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�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 姓名:阙建明 +> +> 学号:1901213139 + +## 作业要求: + +Leetcode: 743, 847 + +- ### Leetcode problem 743 + + > [网络延迟时间](https://leetcode-cn.com/problems/network-delay-time/) + + - **算法思路:** +1. 使用Dijkstra算法找到发信号的点到其它所有点的最短路径(时间作为边的权重); + 2. 结束时判断是否遍历了所有的点,没有则返回-1,有则返回所有点里面距离最大的点的距离作为总的耗时。 + 3. 遇到大于限定跳数就跳出进行剪枝; + 4. 遇到目标节点就直接返回其最小开销,结束算法。 + +- **Leetcode提交结果:** + + ![image-20200602172430250](AlgorithmHomework11.assets/image-20200602172430250.png) + +- **代码:** + + ```python + class Solution: + def networkDelayTime(self, times: List[List[int]], N: int, K: int) -> int: + # 构造图 + graph = collections.defaultdict(list) + for u, v, w in times: + graph[u].append((w, v)) + + # 用一个堆来存储已只一个非无穷的距离,但是还没用进行松弛的item => 每个item包含 当前已知的源到点的距离,以及点的编号 + pq = [(0, K)] + + # 记录已经松弛的点 + visited = {} + while pq: + distance, node = heapq.heappop(pq) + # 这边过滤到多余push的点 + if node in visited: + continue + visited[node] = distance + for distance2, neighbour in graph[node]: + if neighbour not in visited: + # 遍历每个邻居的时候都会执行push操作,可能有一个点被push若干次,但是由于堆的特性,最先被访问到的一定是距离最小的那个 + heapq.heappush(pq, (distance + distance2, neighbour)) + return max(visited.values()) if len(visited) == N else -1 + + ``` + +- ### Leetcode problem 934 + + > [最短的桥](https://leetcode-cn.com/problems/shortest-bridge/) + + - **算法思路:** + 1. 以每个点为起点,同时进行BFS搜索; + 2. 用 `(cover, cur)` 元组代表一个状态 (State)=> 其中cover表示当前已经走过的节点(用二进制位的压缩表示,每个二进制位代表一个节点是否走过),cur表示当前所出的节点; + 3. 用dict字典记录达成每个状态(State)所需的最小跳数; + 4. 每次从队列中取出一个状态,遍历当前节点的所有邻居转移到若干个新状态,添加到队列当中(同时使用dict来过滤掉一些不必要的状态)。 + - **Leetcode提交结果:** + + ![image-20200602192555935](AlgorithmHomework11.assets/image-20200602192555935.png) + + - **代码:** + + ```python + class Solution: + def shortestPathLength(self, graph: List[List[int]]) -> int: + N = len(graph) + # 使用队列,保证先进先出,可以用来做BFS遍历 + queue = collections.deque((1 << i, i) for i in range(N)) + # 最短路径必然小于N * N + dist = collections.defaultdict(lambda: N * N) + # 结束标记 + END = (1 << N) - 1 + # 初始化,出发点所走路径为0 + for i in range(N): + dist[(1 << i, i)] = 0 + while queue: + cover, cur = queue.popleft() + d = dist[(cover, cur)] + if cover == END: + return d + for child in graph[cur]: + newCover = cover | (1 << child) + if d + 1 < dist[newCover, child]: # 每个状态只记录最短路径 + dist[newCover, child] = d + 1 + queue.append((newCover, child)) + ``` + + + diff --git a/README.md b/README.md index 63e901d..2d22ce9 100755 --- a/README.md +++ b/README.md @@ -9,6 +9,6 @@ - [第七次作业](AlgorithmHomework7.md) - [第八次作业](AlgorithmHomework8.md) - [第九次作业](AlgorithmHomework9.md) - - [第十次作业](AlgorithmHomework10.md) +- [第十一次作业](AlgorithmHomework11.md)