﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-Uriel's Corner-文章分类-模拟</title><link>http://www.cppblog.com/Uriel/category/11826.html</link><description>Research Associate @ Harvard University / Research Interests: Computer Vision, Biomedical Image Analysis, Machine Learning</description><language>zh-cn</language><lastBuildDate>Thu, 30 Nov 2023 00:36:13 GMT</lastBuildDate><pubDate>Thu, 30 Nov 2023 00:36:13 GMT</pubDate><ttl>60</ttl><item><title>[LeetCode]1424. Diagonal Traverse II (Medium) Python-2023.11.22</title><link>http://www.cppblog.com/Uriel/articles/230192.html</link><dc:creator>Uriel</dc:creator><author>Uriel</author><pubDate>Wed, 22 Nov 2023 10:22:00 GMT</pubDate><guid>http://www.cppblog.com/Uriel/articles/230192.html</guid><wfw:comment>http://www.cppblog.com/Uriel/comments/230192.html</wfw:comment><comments>http://www.cppblog.com/Uriel/articles/230192.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Uriel/comments/commentRss/230192.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Uriel/services/trackbacks/230192.html</trackback:ping><description><![CDATA[按从左下到右上斜着输出一个二维数组的值（数组有缺失值）<br /><br /><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; ">&nbsp;1</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">1424</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;2</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">Runtime:&nbsp;724&nbsp;ms&nbsp;(Beats&nbsp;27.21%)</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;3</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">Memory:&nbsp;40.3&nbsp;MB&nbsp;(Beats&nbsp;41.50%)</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;4</span>&nbsp;<span style="color: #008000; "></span><br /><span style="color: #008080; ">&nbsp;5</span>&nbsp;<span style="color: #0000FF; ">class</span>&nbsp;Solution(object):<br /><span style="color: #008080; ">&nbsp;6</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">def</span>&nbsp;findDiagonalOrder(self,&nbsp;nums):<br /><span style="color: #008080; ">&nbsp;7</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #800000; ">"""</span><span style="color: #800000; "><br /></span><span style="color: #008080; ">&nbsp;8</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:type&nbsp;nums:&nbsp;List[List[int]]<br /></span><span style="color: #008080; ">&nbsp;9</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:rtype:&nbsp;List[int]<br /></span><span style="color: #008080; ">10</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; ">"""</span><br /><span style="color: #008080; ">11</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ans&nbsp;=&nbsp;defaultdict(list)<br /><span style="color: #008080; ">12</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>&nbsp;x&nbsp;<span style="color: #0000FF; ">in</span>&nbsp;xrange(len(nums)):<br /><span style="color: #008080; ">13</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>&nbsp;y&nbsp;<span style="color: #0000FF; ">in</span>&nbsp;xrange(len(nums[x])):<br /><span style="color: #008080; ">14</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ans[x&nbsp;+&nbsp;y].append(nums[x][y])<br /><span style="color: #008080; ">15</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;[y&nbsp;<span style="color: #0000FF; ">for</span>&nbsp;x&nbsp;<span style="color: #0000FF; ">in</span>&nbsp;ans.keys()&nbsp;<span style="color: #0000FF; ">for</span>&nbsp;y&nbsp;<span style="color: #0000FF; ">in</span>&nbsp;reversed(ans[x])]</div><img src ="http://www.cppblog.com/Uriel/aggbug/230192.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Uriel/" target="_blank">Uriel</a> 2023-11-22 18:22 <a href="http://www.cppblog.com/Uriel/articles/230192.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[LeetCode]1845. Seat Reservation Manager (Medium) Python-2023.11.06</title><link>http://www.cppblog.com/Uriel/articles/230168.html</link><dc:creator>Uriel</dc:creator><author>Uriel</author><pubDate>Mon, 06 Nov 2023 17:57:00 GMT</pubDate><guid>http://www.cppblog.com/Uriel/articles/230168.html</guid><wfw:comment>http://www.cppblog.com/Uriel/comments/230168.html</wfw:comment><comments>http://www.cppblog.com/Uriel/articles/230168.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Uriel/comments/commentRss/230168.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Uriel/services/trackbacks/230168.html</trackback:ping><description><![CDATA[模拟作为预订系统，有reserve和unreserve功能，每次自动分配无人的编号最小的座位<br /><br />用python heapq做模拟<br /><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; ">&nbsp;1</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">1845</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;2</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">Runtime:&nbsp;1029&nbsp;ms&nbsp;(Beats&nbsp;20%)</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;3</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">Memory:&nbsp;44.4&nbsp;MB&nbsp;(Beats&nbsp;25.71%)</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;4</span>&nbsp;<span style="color: #008000; "></span><br /><span style="color: #008080; ">&nbsp;5</span>&nbsp;<span style="color: #0000FF; ">class</span>&nbsp;SeatManager(object):<br /><span style="color: #008080; ">&nbsp;6</span>&nbsp;<br /><span style="color: #008080; ">&nbsp;7</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">def</span>&nbsp;<span style="color: #800080; ">__init__</span>(self,&nbsp;n):<br /><span style="color: #008080; ">&nbsp;8</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #800000; ">"""</span><span style="color: #800000; "><br /></span><span style="color: #008080; ">&nbsp;9</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:type&nbsp;n:&nbsp;int<br /></span><span style="color: #008080; ">10</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; ">"""</span><br /><span style="color: #008080; ">11</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.seats&nbsp;=&nbsp;[]<br /><span style="color: #008080; ">12</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.n&nbsp;=&nbsp;n<br /><span style="color: #008080; ">13</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>&nbsp;i&nbsp;<span style="color: #0000FF; ">in</span>&nbsp;xrange(1,&nbsp;n&nbsp;+&nbsp;1):<br /><span style="color: #008080; ">14</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;heapq.heappush(self.seats,&nbsp;i)<br /><span style="color: #008080; ">15</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><span style="color: #008080; ">16</span>&nbsp;<br /><span style="color: #008080; ">17</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">def</span>&nbsp;reserve(self):<br /><span style="color: #008080; ">18</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #800000; ">"""</span><span style="color: #800000; "><br /></span><span style="color: #008080; ">19</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:rtype:&nbsp;int<br /></span><span style="color: #008080; ">20</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; ">"""</span><br /><span style="color: #008080; ">21</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;self.seats&nbsp;&gt;&nbsp;0:<br /><span style="color: #008080; ">22</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;seat&nbsp;=&nbsp;heapq.heappop(self.seats)<br /><span style="color: #008080; ">23</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;seat<br /><span style="color: #008080; ">24</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;-1<br /><span style="color: #008080; ">25</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><span style="color: #008080; ">26</span>&nbsp;<br /><span style="color: #008080; ">27</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">def</span>&nbsp;unreserve(self,&nbsp;seatNumber):<br /><span style="color: #008080; ">28</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #800000; ">"""</span><span style="color: #800000; "><br /></span><span style="color: #008080; ">29</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:type&nbsp;seatNumber:&nbsp;int<br /></span><span style="color: #008080; ">30</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:rtype:&nbsp;None<br /></span><span style="color: #008080; ">31</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; ">"""</span><br /><span style="color: #008080; ">32</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;heapq.heappush(self.seats,&nbsp;seatNumber)<br /><span style="color: #008080; ">33</span>&nbsp;<br /><span style="color: #008080; ">34</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><span style="color: #008080; ">35</span>&nbsp;<br /><span style="color: #008080; ">36</span>&nbsp;<br /><span style="color: #008080; ">37</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;Your&nbsp;SeatManager&nbsp;object&nbsp;will&nbsp;be&nbsp;instantiated&nbsp;and&nbsp;called&nbsp;as&nbsp;such:</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">38</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;obj&nbsp;=&nbsp;SeatManager(n)</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">39</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;param_1&nbsp;=&nbsp;obj.reserve()</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">40</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;obj.unreserve(seatNumber)</span></div><img src ="http://www.cppblog.com/Uriel/aggbug/230168.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Uriel/" target="_blank">Uriel</a> 2023-11-07 01:57 <a href="http://www.cppblog.com/Uriel/articles/230168.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[LeetCode]1535. Find the Winner of an Array Game (Medium) Python3-2023.11.05</title><link>http://www.cppblog.com/Uriel/articles/230166.html</link><dc:creator>Uriel</dc:creator><author>Uriel</author><pubDate>Sun, 05 Nov 2023 13:41:00 GMT</pubDate><guid>http://www.cppblog.com/Uriel/articles/230166.html</guid><wfw:comment>http://www.cppblog.com/Uriel/comments/230166.html</wfw:comment><comments>http://www.cppblog.com/Uriel/articles/230166.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Uriel/comments/commentRss/230166.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Uriel/services/trackbacks/230166.html</trackback:ping><description><![CDATA[给出一列互不相同的数，每次比较前两个，把较小的那个放入数列末尾，较大的数视为胜利，执行这样的操作直到某个数胜了k次，输出该数。只要模拟完整个队列走完一遍或者某个数已达k次。<br /><br /><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008000; ">#</span><span style="color: #008000; ">1535</span><span style="color: #008000; "><br />#</span><span style="color: #008000; ">Runtime:&nbsp;491&nbsp;ms&nbsp;(Beats&nbsp;40%)</span><span style="color: #008000; "><br />#</span><span style="color: #008000; ">Memory:&nbsp;23.8&nbsp;MB&nbsp;(Beats&nbsp;13.33%)</span><span style="color: #008000; "><br /></span><br /><span style="color: #0000FF; ">class</span>&nbsp;Solution(object):<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">def</span>&nbsp;getWinner(self,&nbsp;arr,&nbsp;k):<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #800000; ">"""</span><span style="color: #800000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:type&nbsp;arr:&nbsp;List[int]<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:type&nbsp;k:&nbsp;int<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:rtype:&nbsp;int<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; ">"""</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cnt&nbsp;=&nbsp;defaultdict(int)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;n&nbsp;=&nbsp;len(arr)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mx&nbsp;=&nbsp;arr[0]<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>&nbsp;i&nbsp;<span style="color: #0000FF; ">in</span>&nbsp;xrange(1,&nbsp;n):<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mx&nbsp;=&nbsp;max(mx,&nbsp;arr[i])<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cnt[mx]&nbsp;+=&nbsp;1<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;cnt[mx]&nbsp;&gt;=&nbsp;k:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;mx<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;mx</div><img src ="http://www.cppblog.com/Uriel/aggbug/230166.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Uriel/" target="_blank">Uriel</a> 2023-11-05 21:41 <a href="http://www.cppblog.com/Uriel/articles/230166.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[LeetCode]1535. Find the Winner of an Array Game (Medium) Python3-2023.11.05</title><link>http://www.cppblog.com/Uriel/articles/230165.html</link><dc:creator>Uriel</dc:creator><author>Uriel</author><pubDate>Sun, 05 Nov 2023 13:41:00 GMT</pubDate><guid>http://www.cppblog.com/Uriel/articles/230165.html</guid><wfw:comment>http://www.cppblog.com/Uriel/comments/230165.html</wfw:comment><comments>http://www.cppblog.com/Uriel/articles/230165.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Uriel/comments/commentRss/230165.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Uriel/services/trackbacks/230165.html</trackback:ping><description><![CDATA[给出一列互不相同的数，每次比较前两个，把较小的那个放入数列末尾，较大的数视为胜利，执行这样的操作直到某个数胜了k次，输出该数。只要模拟完整个队列走完一遍或者某个数已达k次。<br /><br /><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008000; ">#</span><span style="color: #008000; ">1535</span><span style="color: #008000; "><br />#</span><span style="color: #008000; ">Runtime:&nbsp;491&nbsp;ms&nbsp;(Beats&nbsp;40%)</span><span style="color: #008000; "><br />#</span><span style="color: #008000; ">Memory:&nbsp;23.8&nbsp;MB&nbsp;(Beats&nbsp;13.33%)</span><span style="color: #008000; "><br /></span><br /><span style="color: #0000FF; ">class</span>&nbsp;Solution(object):<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">def</span>&nbsp;getWinner(self,&nbsp;arr,&nbsp;k):<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #800000; ">"""</span><span style="color: #800000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:type&nbsp;arr:&nbsp;List[int]<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:type&nbsp;k:&nbsp;int<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:rtype:&nbsp;int<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; ">"""</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cnt&nbsp;=&nbsp;defaultdict(int)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;n&nbsp;=&nbsp;len(arr)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mx&nbsp;=&nbsp;arr[0]<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>&nbsp;i&nbsp;<span style="color: #0000FF; ">in</span>&nbsp;xrange(1,&nbsp;n):<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mx&nbsp;=&nbsp;max(mx,&nbsp;arr[i])<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cnt[mx]&nbsp;+=&nbsp;1<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;cnt[mx]&nbsp;&gt;=&nbsp;k:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;mx<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;mx</div><img src ="http://www.cppblog.com/Uriel/aggbug/230165.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Uriel/" target="_blank">Uriel</a> 2023-11-05 21:41 <a href="http://www.cppblog.com/Uriel/articles/230165.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[LeetCode]225. Implement Stack using Queues (Easy) Python-2023.08.28</title><link>http://www.cppblog.com/Uriel/articles/230029.html</link><dc:creator>Uriel</dc:creator><author>Uriel</author><pubDate>Mon, 28 Aug 2023 12:42:00 GMT</pubDate><guid>http://www.cppblog.com/Uriel/articles/230029.html</guid><wfw:comment>http://www.cppblog.com/Uriel/comments/230029.html</wfw:comment><comments>http://www.cppblog.com/Uriel/articles/230029.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Uriel/comments/commentRss/230029.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Uriel/services/trackbacks/230029.html</trackback:ping><description><![CDATA[用队列模拟栈操作<br /><br /><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; ">&nbsp;1</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">225</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;2</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">Runtime:&nbsp;7&nbsp;ms&nbsp;(Beats&nbsp;97.10%)</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;3</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">Memory:&nbsp;13.3&nbsp;MB&nbsp;(Beats&nbsp;55.58%)</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;4</span>&nbsp;<span style="color: #008000; "></span><br /><span style="color: #008080; ">&nbsp;5</span>&nbsp;<span style="color: #0000FF; ">class</span>&nbsp;MyStack(object):<br /><span style="color: #008080; ">&nbsp;6</span>&nbsp;<br /><span style="color: #008080; ">&nbsp;7</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">def</span>&nbsp;<span style="color: #800080; ">__init__</span>(self):<br /><span style="color: #008080; ">&nbsp;8</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.que&nbsp;=&nbsp;deque()<br /><span style="color: #008080; ">&nbsp;9</span>&nbsp;<br /><span style="color: #008080; ">10</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">def</span>&nbsp;push(self,&nbsp;x):<br /><span style="color: #008080; ">11</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #800000; ">"""</span><span style="color: #800000; "><br /></span><span style="color: #008080; ">12</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:type&nbsp;x:&nbsp;int<br /></span><span style="color: #008080; ">13</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:rtype:&nbsp;None<br /></span><span style="color: #008080; ">14</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; ">"""</span><br /><span style="color: #008080; ">15</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.que.append(x)<br /><span style="color: #008080; ">16</span>&nbsp;<br /><span style="color: #008080; ">17</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">def</span>&nbsp;pop(self):<br /><span style="color: #008080; ">18</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #800000; ">"""</span><span style="color: #800000; "><br /></span><span style="color: #008080; ">19</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:rtype:&nbsp;int<br /></span><span style="color: #008080; ">20</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; ">"""</span><br /><span style="color: #008080; ">21</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>&nbsp;_&nbsp;<span style="color: #0000FF; ">in</span>&nbsp;range(len(self.que)&nbsp;-&nbsp;1):<br /><span style="color: #008080; ">22</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.que.append(self.que.popleft())<br /><span style="color: #008080; ">23</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;self.que.popleft()<br /><span style="color: #008080; ">24</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><span style="color: #008080; ">25</span>&nbsp;<br /><span style="color: #008080; ">26</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">def</span>&nbsp;top(self):<br /><span style="color: #008080; ">27</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #800000; ">"""</span><span style="color: #800000; "><br /></span><span style="color: #008080; ">28</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:rtype:&nbsp;int<br /></span><span style="color: #008080; ">29</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; ">"""</span><br /><span style="color: #008080; ">30</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;self.que[-1]<br /><span style="color: #008080; ">31</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><span style="color: #008080; ">32</span>&nbsp;<br /><span style="color: #008080; ">33</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">def</span>&nbsp;empty(self):<br /><span style="color: #008080; ">34</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #800000; ">"""</span><span style="color: #800000; "><br /></span><span style="color: #008080; ">35</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:rtype:&nbsp;bool<br /></span><span style="color: #008080; ">36</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; ">"""</span><br /><span style="color: #008080; ">37</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;len(self.que)&nbsp;==&nbsp;0<br /><span style="color: #008080; ">38</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><span style="color: #008080; ">39</span>&nbsp;<br /><span style="color: #008080; ">40</span>&nbsp;<br /><span style="color: #008080; ">41</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;Your&nbsp;MyStack&nbsp;object&nbsp;will&nbsp;be&nbsp;instantiated&nbsp;and&nbsp;called&nbsp;as&nbsp;such:</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">42</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;obj&nbsp;=&nbsp;MyStack()</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">43</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;obj.push(x)</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">44</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;param_2&nbsp;=&nbsp;obj.pop()</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">45</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;param_3&nbsp;=&nbsp;obj.top()</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">46</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;param_4&nbsp;=&nbsp;obj.empty()</span></div><img src ="http://www.cppblog.com/Uriel/aggbug/230029.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Uriel/" target="_blank">Uriel</a> 2023-08-28 20:42 <a href="http://www.cppblog.com/Uriel/articles/230029.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[LeetCode]68. Text Justification (Hard) Python-2023.08.24</title><link>http://www.cppblog.com/Uriel/articles/230024.html</link><dc:creator>Uriel</dc:creator><author>Uriel</author><pubDate>Thu, 24 Aug 2023 10:57:00 GMT</pubDate><guid>http://www.cppblog.com/Uriel/articles/230024.html</guid><wfw:comment>http://www.cppblog.com/Uriel/comments/230024.html</wfw:comment><comments>http://www.cppblog.com/Uriel/articles/230024.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Uriel/comments/commentRss/230024.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Uriel/services/trackbacks/230024.html</trackback:ping><description><![CDATA[模拟word的两端对齐排版（最后一行不用对齐），模拟题<br /><br /><br /><div><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; ">&nbsp;1</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">68</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;2</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">Runtime:&nbsp;14&nbsp;ms&nbsp;(Beats&nbsp;75.43%)</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;3</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">Memory:&nbsp;13.3&nbsp;MB&nbsp;(Beats&nbsp;67.24%)</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;4</span>&nbsp;<span style="color: #008000; "></span><br /><span style="color: #008080; ">&nbsp;5</span>&nbsp;<span style="color: #0000FF; ">class</span>&nbsp;Solution(object):<br /><span style="color: #008080; ">&nbsp;6</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">def</span>&nbsp;fullJustify(self,&nbsp;words,&nbsp;maxWidth):<br /><span style="color: #008080; ">&nbsp;7</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #800000; ">"""</span><span style="color: #800000; "><br /></span><span style="color: #008080; ">&nbsp;8</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:type&nbsp;words:&nbsp;List[str]<br /></span><span style="color: #008080; ">&nbsp;9</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:type&nbsp;maxWidth:&nbsp;int<br /></span><span style="color: #008080; ">10</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:rtype:&nbsp;List[str]<br /></span><span style="color: #008080; ">11</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; ">"""</span><br /><span style="color: #008080; ">12</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p&nbsp;=&nbsp;0<br /><span style="color: #008080; ">13</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ans&nbsp;=&nbsp;[]<br /><span style="color: #008080; ">14</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;n_sp&nbsp;=&nbsp;[]<br /><span style="color: #008080; ">15</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">while</span>&nbsp;p&nbsp;&lt;&nbsp;len(words):<br /><span style="color: #008080; ">16</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tp&nbsp;=&nbsp;[words[p]]<br /><span style="color: #008080; ">17</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;l&nbsp;=&nbsp;len(words[p])<br /><span style="color: #008080; ">18</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p&nbsp;+=&nbsp;1<br /><span style="color: #008080; ">19</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">while</span>&nbsp;p&nbsp;&lt;&nbsp;len(words)&nbsp;<span style="color: #0000FF; ">and</span>&nbsp;l&nbsp;+&nbsp;len(words[p])&nbsp;+&nbsp;1&nbsp;&lt;=&nbsp;maxWidth:<br /><span style="color: #008080; ">20</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;l&nbsp;+=&nbsp;len(words[p])&nbsp;+&nbsp;1<br /><span style="color: #008080; ">21</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tp.append(words[p])<br /><span style="color: #008080; ">22</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p&nbsp;+=&nbsp;1<br /><span style="color: #008080; ">23</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;n_sp&nbsp;=&nbsp;maxWidth&nbsp;-&nbsp;l<br /><span style="color: #008080; ">24</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tp_ans&nbsp;=&nbsp;<span style="color: #800000; ">""</span><br /><span style="color: #008080; ">25</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;len(tp)&nbsp;==&nbsp;1:<br /><span style="color: #008080; ">26</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tp_ans&nbsp;+=&nbsp;tp[0]&nbsp;+&nbsp;<span style="color: #800000; ">"</span><span style="color: #800000; ">&nbsp;</span><span style="color: #800000; ">"</span>&nbsp;*&nbsp;n_sp<br /><span style="color: #008080; ">27</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">else</span>:<br /><span style="color: #008080; ">28</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;p&nbsp;==&nbsp;len(words):<br /><span style="color: #008080; ">29</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>&nbsp;i&nbsp;<span style="color: #0000FF; ">in</span>&nbsp;range(len(tp)&nbsp;-&nbsp;1):<br /><span style="color: #008080; ">30</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tp_ans&nbsp;+=&nbsp;tp[i]&nbsp;+&nbsp;<span style="color: #800000; ">"</span><span style="color: #800000; ">&nbsp;</span><span style="color: #800000; ">"</span><br /><span style="color: #008080; ">31</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tp_ans&nbsp;+=&nbsp;tp[-1]<br /><span style="color: #008080; ">32</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>&nbsp;_&nbsp;<span style="color: #0000FF; ">in</span>&nbsp;range(n_sp):<br /><span style="color: #008080; ">33</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tp_ans&nbsp;+=&nbsp;<span style="color: #800000; ">"</span><span style="color: #800000; ">&nbsp;</span><span style="color: #800000; ">"</span><br /><span style="color: #008080; ">34</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">else</span>:<br /><span style="color: #008080; ">35</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>&nbsp;i&nbsp;<span style="color: #0000FF; ">in</span>&nbsp;range(len(tp)&nbsp;-&nbsp;1):<br /><span style="color: #008080; ">36</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tp_ans&nbsp;+=&nbsp;tp[i]&nbsp;+&nbsp;<span style="color: #800000; ">"</span><span style="color: #800000; ">&nbsp;</span><span style="color: #800000; ">"</span>&nbsp;*&nbsp;(1&nbsp;+&nbsp;n_sp&nbsp;//&nbsp;(len(tp)&nbsp;-&nbsp;1))<br /><span style="color: #008080; ">37</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;(n_sp&nbsp;%&nbsp;(len(tp)&nbsp;-&nbsp;1))&nbsp;&gt;&nbsp;i:<br /><span style="color: #008080; ">38</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tp_ans&nbsp;+=&nbsp;<span style="color: #800000; ">"</span><span style="color: #800000; ">&nbsp;</span><span style="color: #800000; ">"</span><br /><span style="color: #008080; ">39</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tp_ans&nbsp;+=&nbsp;tp[-1]<br /><span style="color: #008080; ">40</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ans.append(tp_ans)<br /><span style="color: #008080; ">41</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;ans</div></div><img src ="http://www.cppblog.com/Uriel/aggbug/230024.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Uriel/" target="_blank">Uriel</a> 2023-08-24 18:57 <a href="http://www.cppblog.com/Uriel/articles/230024.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[LeetCode]735. Asteroid Collision (Medium) Python-2023.07.20</title><link>http://www.cppblog.com/Uriel/articles/229981.html</link><dc:creator>Uriel</dc:creator><author>Uriel</author><pubDate>Thu, 20 Jul 2023 08:01:00 GMT</pubDate><guid>http://www.cppblog.com/Uriel/articles/229981.html</guid><wfw:comment>http://www.cppblog.com/Uriel/comments/229981.html</wfw:comment><comments>http://www.cppblog.com/Uriel/articles/229981.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Uriel/comments/commentRss/229981.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Uriel/services/trackbacks/229981.html</trackback:ping><description><![CDATA[给出一列数，负数代表向左移动，正数代表向右移动，如果连着的两个数分别向右和向左，则会碰撞，只剩下绝对值更大的那一个数，问所有碰撞结束之后剩下的list<br />基本栈操作<br /><br /><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; ">&nbsp;1</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">735</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;2</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">Runtime:&nbsp;98&nbsp;ms&nbsp;(Beats&nbsp;14.98%)</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;3</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">Memory:&nbsp;14.6&nbsp;MB&nbsp;(Beats&nbsp;16.21%)</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;4</span>&nbsp;<span style="color: #008000; "></span><br /><span style="color: #008080; ">&nbsp;5</span>&nbsp;<span style="color: #0000FF; ">class</span>&nbsp;Solution(object):<br /><span style="color: #008080; ">&nbsp;6</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">def</span>&nbsp;asteroidCollision(self,&nbsp;asteroids):<br /><span style="color: #008080; ">&nbsp;7</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #800000; ">"""</span><span style="color: #800000; "><br /></span><span style="color: #008080; ">&nbsp;8</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:type&nbsp;asteroids:&nbsp;List[int]<br /></span><span style="color: #008080; ">&nbsp;9</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:rtype:&nbsp;List[int]<br /></span><span style="color: #008080; ">10</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; ">"""</span><br /><span style="color: #008080; ">11</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stk&nbsp;=&nbsp;[asteroids[0]]<br /><span style="color: #008080; ">12</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>&nbsp;x&nbsp;<span style="color: #0000FF; ">in</span>&nbsp;asteroids[1:]:<br /><span style="color: #008080; ">13</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stk.append(x)<br /><span style="color: #008080; ">14</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">while</span>&nbsp;len(stk)&nbsp;&gt;&nbsp;1&nbsp;<span style="color: #0000FF; ">and</span>&nbsp;stk[-2]&nbsp;&gt;&nbsp;0&nbsp;<span style="color: #0000FF; ">and</span>&nbsp;stk[-1]&nbsp;&lt;&nbsp;0:<br /><span style="color: #008080; ">15</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pre1&nbsp;=&nbsp;stk[-1]<br /><span style="color: #008080; ">16</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pre2&nbsp;=&nbsp;stk[-2]<br /><span style="color: #008080; ">17</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stk.pop()<br /><span style="color: #008080; ">18</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stk.pop()<br /><span style="color: #008080; ">19</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;abs(pre1)&nbsp;!=&nbsp;abs(pre2):<br /><span style="color: #008080; ">20</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stk.append(pre1)&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;abs(pre1)&nbsp;&gt;&nbsp;abs(pre2)&nbsp;<span style="color: #0000FF; ">else</span>&nbsp;stk.append(pre2)<br /><span style="color: #008080; ">21</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;stk</div><img src ="http://www.cppblog.com/Uriel/aggbug/229981.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Uriel/" target="_blank">Uriel</a> 2023-07-20 16:01 <a href="http://www.cppblog.com/Uriel/articles/229981.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[LeetCode]146. LRU Cache (Medium) Python-2023.07.18</title><link>http://www.cppblog.com/Uriel/articles/229979.html</link><dc:creator>Uriel</dc:creator><author>Uriel</author><pubDate>Tue, 18 Jul 2023 09:47:00 GMT</pubDate><guid>http://www.cppblog.com/Uriel/articles/229979.html</guid><wfw:comment>http://www.cppblog.com/Uriel/comments/229979.html</wfw:comment><comments>http://www.cppblog.com/Uriel/articles/229979.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Uriel/comments/commentRss/229979.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Uriel/services/trackbacks/229979.html</trackback:ping><description><![CDATA[模拟LRU Cache，用python的<span style="background-color: #ffffff; font-family: Menlo, Monaco, &quot;Courier New&quot;, monospace; font-size: 13px; white-space: pre;">OrderedDict极度适合！<br /><br /><br /></span><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; ">&nbsp;1</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">146</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;2</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">Runtime:&nbsp;990&nbsp;ms&nbsp;(Beats&nbsp;30.89%)</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;3</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">Memory:&nbsp;78.8&nbsp;MB&nbsp;(Beats&nbsp;74.63%)</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;4</span>&nbsp;<span style="color: #008000; "></span><br /><span style="color: #008080; ">&nbsp;5</span>&nbsp;<span style="color: #0000FF; ">class</span>&nbsp;LRUCache(object):<br /><span style="color: #008080; ">&nbsp;6</span>&nbsp;<br /><span style="color: #008080; ">&nbsp;7</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">def</span>&nbsp;<span style="color: #800080; ">__init__</span>(self,&nbsp;capacity):<br /><span style="color: #008080; ">&nbsp;8</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #800000; ">"""</span><span style="color: #800000; "><br /></span><span style="color: #008080; ">&nbsp;9</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:type&nbsp;capacity:&nbsp;int<br /></span><span style="color: #008080; ">10</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; ">"""</span><br /><span style="color: #008080; ">11</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.cap&nbsp;=&nbsp;capacity<br /><span style="color: #008080; ">12</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.cache&nbsp;=&nbsp;OrderedDict()<br /><span style="color: #008080; ">13</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><span style="color: #008080; ">14</span>&nbsp;<br /><span style="color: #008080; ">15</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">def</span>&nbsp;get(self,&nbsp;key):<br /><span style="color: #008080; ">16</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #800000; ">"""</span><span style="color: #800000; "><br /></span><span style="color: #008080; ">17</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:type&nbsp;key:&nbsp;int<br /></span><span style="color: #008080; ">18</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:rtype:&nbsp;int<br /></span><span style="color: #008080; ">19</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; ">"""</span><br /><span style="color: #008080; ">20</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;key&nbsp;<span style="color: #0000FF; ">not</span>&nbsp;<span style="color: #0000FF; ">in</span>&nbsp;self.cache:<br /><span style="color: #008080; ">21</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;-1<br /><span style="color: #008080; ">22</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;v&nbsp;=&nbsp;self.cache.pop(key)<br /><span style="color: #008080; ">23</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.cache[key]&nbsp;=&nbsp;v<br /><span style="color: #008080; ">24</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;v<br /><span style="color: #008080; ">25</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><span style="color: #008080; ">26</span>&nbsp;<br /><span style="color: #008080; ">27</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">def</span>&nbsp;put(self,&nbsp;key,&nbsp;value):<br /><span style="color: #008080; ">28</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #800000; ">"""</span><span style="color: #800000; "><br /></span><span style="color: #008080; ">29</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:type&nbsp;key:&nbsp;int<br /></span><span style="color: #008080; ">30</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:type&nbsp;value:&nbsp;int<br /></span><span style="color: #008080; ">31</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:rtype:&nbsp;None<br /></span><span style="color: #008080; ">32</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; ">"""</span><br /><span style="color: #008080; ">33</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;key&nbsp;<span style="color: #0000FF; ">in</span>&nbsp;self.cache:<br /><span style="color: #008080; ">34</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.cache.pop(key)<br /><span style="color: #008080; ">35</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">elif</span>&nbsp;len(self.cache)&nbsp;==&nbsp;self.cap:<br /><span style="color: #008080; ">36</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.cache.popitem(last=False)<br /><span style="color: #008080; ">37</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.cache[key]&nbsp;=&nbsp;value<br /><span style="color: #008080; ">38</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><span style="color: #008080; ">39</span>&nbsp;<br /><span style="color: #008080; ">40</span>&nbsp;<br /><span style="color: #008080; ">41</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;Your&nbsp;LRUCache&nbsp;object&nbsp;will&nbsp;be&nbsp;instantiated&nbsp;and&nbsp;called&nbsp;as&nbsp;such:</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">42</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;obj&nbsp;=&nbsp;LRUCache(capacity)</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">43</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;param_1&nbsp;=&nbsp;obj.get(key)</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">44</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;obj.put(key,value)</span></div><img src ="http://www.cppblog.com/Uriel/aggbug/229979.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Uriel/" target="_blank">Uriel</a> 2023-07-18 17:47 <a href="http://www.cppblog.com/Uriel/articles/229979.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[LeetCode]1493. Longest Subarray of 1's After Deleting One Element (Medium) Python-2023.07.05</title><link>http://www.cppblog.com/Uriel/articles/229958.html</link><dc:creator>Uriel</dc:creator><author>Uriel</author><pubDate>Wed, 05 Jul 2023 07:15:00 GMT</pubDate><guid>http://www.cppblog.com/Uriel/articles/229958.html</guid><wfw:comment>http://www.cppblog.com/Uriel/comments/229958.html</wfw:comment><comments>http://www.cppblog.com/Uriel/articles/229958.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Uriel/comments/commentRss/229958.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Uriel/services/trackbacks/229958.html</trackback:ping><description><![CDATA[给出一个0-1数列，问去掉一个元素，最多有多少个连续的1<br />预处理每个连续的0和1有几个，若开头和结尾是0的话补上0个1<br /><br /><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008000; ">#</span><span style="color: #008000; ">1493</span><span style="color: #008000; "><br />#</span><span style="color: #008000; ">Runtime:&nbsp;322&nbsp;ms&nbsp;(Beats&nbsp;65.73%)</span><span style="color: #008000; "><br />#</span><span style="color: #008000; ">Memory:&nbsp;17.6&nbsp;MB&nbsp;(Beats&nbsp;31.25%)</span><span style="color: #008000; "><br /></span><br /><span style="color: #0000FF; ">class</span>&nbsp;Solution(object):<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">def</span>&nbsp;longestSubarray(self,&nbsp;nums):<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #800000; ">"""</span><span style="color: #800000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:type&nbsp;nums:&nbsp;List[int]<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:rtype:&nbsp;int<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; ">"""</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;one&nbsp;=&nbsp;[]<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;zero&nbsp;=&nbsp;[]<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ans&nbsp;=&nbsp;0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t0,&nbsp;t1&nbsp;=&nbsp;0,&nbsp;0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;<span style="color: #0000FF; ">not</span>&nbsp;nums[0]:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;one.append(0)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>&nbsp;j&nbsp;<span style="color: #0000FF; ">in</span>&nbsp;range(0,&nbsp;len(nums)):<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;nums[j]:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;j&nbsp;==&nbsp;0&nbsp;<span style="color: #0000FF; ">or</span>&nbsp;nums[j&nbsp;-&nbsp;1]:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t1&nbsp;+=&nbsp;1<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">else</span>:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;t0:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;zero.append(t0)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t1&nbsp;=&nbsp;1<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t0&nbsp;=&nbsp;0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">else</span>:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;j&nbsp;==&nbsp;0&nbsp;<span style="color: #0000FF; ">or</span>&nbsp;nums[j&nbsp;-&nbsp;1]&nbsp;==&nbsp;0:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t0&nbsp;+=&nbsp;1<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">else</span>:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;t1:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;one.append(t1)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t1&nbsp;=&nbsp;0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t0&nbsp;=&nbsp;1<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;t1:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;one.append(t1)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;t0:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;zero.append(t0)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;one.append(0)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;<span style="color: #0000FF; ">not</span>&nbsp;len(zero):<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;one[0]&nbsp;-&nbsp;1<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>&nbsp;i&nbsp;<span style="color: #0000FF; ">in</span>&nbsp;range(0,&nbsp;len(one)):<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;i&nbsp;<span style="color: #0000FF; ">and</span>&nbsp;zero[i&nbsp;-&nbsp;1]&nbsp;==&nbsp;1:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ans&nbsp;=&nbsp;max(ans,&nbsp;one[i&nbsp;-&nbsp;1]&nbsp;+&nbsp;one[i])<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">else</span>:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ans&nbsp;=&nbsp;max(ans,&nbsp;one[i])<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;ans</div><img src ="http://www.cppblog.com/Uriel/aggbug/229958.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Uriel/" target="_blank">Uriel</a> 2023-07-05 15:15 <a href="http://www.cppblog.com/Uriel/articles/229958.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[LeetCode]228. Summary Ranges (Easy) Python3-2023.06.12</title><link>http://www.cppblog.com/Uriel/articles/229926.html</link><dc:creator>Uriel</dc:creator><author>Uriel</author><pubDate>Mon, 12 Jun 2023 09:37:00 GMT</pubDate><guid>http://www.cppblog.com/Uriel/articles/229926.html</guid><wfw:comment>http://www.cppblog.com/Uriel/comments/229926.html</wfw:comment><comments>http://www.cppblog.com/Uriel/articles/229926.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Uriel/comments/commentRss/229926.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Uriel/services/trackbacks/229926.html</trackback:ping><description><![CDATA[给定一列已排序且各不相同的数列，输出固定格式的连续数（参考了DIscussion如何python3实现格式化输出）<br /><br /><div>Input: nums = [0,1,2,4,5,7]</div><div>Output: ["0-&gt;2","4-&gt;5","7"]<br /><br /><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; ">&nbsp;1</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">228</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;2</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">Runtime:&nbsp;51&nbsp;ms&nbsp;(Beats&nbsp;21.61%)</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;3</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">Memory:&nbsp;16.2&nbsp;MB&nbsp;(Beats&nbsp;64.73%)</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;4</span>&nbsp;<span style="color: #008000; "></span><br /><span style="color: #008080; ">&nbsp;5</span>&nbsp;<span style="color: #0000FF; ">class</span>&nbsp;Solution:<br /><span style="color: #008080; ">&nbsp;6</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">def</span>&nbsp;summaryRanges(self,&nbsp;nums:&nbsp;List[int])&nbsp;-&gt;&nbsp;List[str]:<br /><span style="color: #008080; ">&nbsp;7</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ans&nbsp;=&nbsp;[]<br /><span style="color: #008080; ">&nbsp;8</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>&nbsp;i,&nbsp;x&nbsp;<span style="color: #0000FF; ">in</span>&nbsp;enumerate(nums):<br /><span style="color: #008080; ">&nbsp;9</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;ans&nbsp;<span style="color: #0000FF; ">and</span>&nbsp;ans[-1][1]&nbsp;==&nbsp;x&nbsp;-&nbsp;1:<br /><span style="color: #008080; ">10</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ans[-1][1]&nbsp;=&nbsp;x<br /><span style="color: #008080; ">11</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">else</span>:<br /><span style="color: #008080; ">12</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ans.append([x,&nbsp;x])<br /><span style="color: #008080; ">13</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;[f<span style="color: #800000; ">'</span><span style="color: #800000; ">{x}-&gt;{y}</span><span style="color: #800000; ">'</span>&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;x&nbsp;!=&nbsp;y&nbsp;<span style="color: #0000FF; ">else</span>&nbsp;f<span style="color: #800000; ">'</span><span style="color: #800000; ">{x}</span><span style="color: #800000; ">'</span>&nbsp;<span style="color: #0000FF; ">for</span>&nbsp;x,&nbsp;y&nbsp;<span style="color: #0000FF; ">in</span>&nbsp;ans]</div></div><img src ="http://www.cppblog.com/Uriel/aggbug/229926.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Uriel/" target="_blank">Uriel</a> 2023-06-12 17:37 <a href="http://www.cppblog.com/Uriel/articles/229926.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[LeetCode]1146. Snapshot Array (Medium) Python-2023.06.11</title><link>http://www.cppblog.com/Uriel/articles/229925.html</link><dc:creator>Uriel</dc:creator><author>Uriel</author><pubDate>Sun, 11 Jun 2023 10:12:00 GMT</pubDate><guid>http://www.cppblog.com/Uriel/articles/229925.html</guid><wfw:comment>http://www.cppblog.com/Uriel/comments/229925.html</wfw:comment><comments>http://www.cppblog.com/Uriel/articles/229925.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Uriel/comments/commentRss/229925.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Uriel/services/trackbacks/229925.html</trackback:ping><description><![CDATA[模拟一个支持不断做snapshot并且可以查询第i次snapshot时数组某个index的数值，数组中的所有数值都支持无限次set，并且由于memory限制，不能直接存储每一次snapshot的数组所有元素<br />参考了Discussion思路-&gt;https://leetcode.com/problems/snapshot-array/solutions/3623538/simple-java-c-python-easy-to-understand/<br /><br /><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; ">&nbsp;1</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">1146</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;2</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">Runtime:&nbsp;706&nbsp;ms&nbsp;(Beats&nbsp;30.51%)</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;3</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">Memory:&nbsp;45.6&nbsp;MB&nbsp;(Beats&nbsp;66.10%)</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;4</span>&nbsp;<span style="color: #008000; "></span><br /><span style="color: #008080; ">&nbsp;5</span>&nbsp;<span style="color: #0000FF; ">class</span>&nbsp;SnapshotArray(object):<br /><span style="color: #008080; ">&nbsp;6</span>&nbsp;<br /><span style="color: #008080; ">&nbsp;7</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">def</span>&nbsp;<span style="color: #800080; ">__init__</span>(self,&nbsp;length):<br /><span style="color: #008080; ">&nbsp;8</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #800000; ">"""</span><span style="color: #800000; "><br /></span><span style="color: #008080; ">&nbsp;9</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:type&nbsp;length:&nbsp;int<br /></span><span style="color: #008080; ">10</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; ">"""</span><br /><span style="color: #008080; ">11</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.cur_arr&nbsp;=&nbsp;[0]&nbsp;*&nbsp;length<br /><span style="color: #008080; ">12</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.his_arr&nbsp;=&nbsp;[[0]&nbsp;<span style="color: #0000FF; ">for</span>&nbsp;_&nbsp;<span style="color: #0000FF; ">in</span>&nbsp;range(length)]<br /><span style="color: #008080; ">13</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.modifed_idx_list&nbsp;=&nbsp;set()<br /><span style="color: #008080; ">14</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.snap_id&nbsp;=&nbsp;0<br /><span style="color: #008080; ">15</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.snap_id_arr&nbsp;=&nbsp;[[-1]&nbsp;<span style="color: #0000FF; ">for</span>&nbsp;_&nbsp;<span style="color: #0000FF; ">in</span>&nbsp;range(length)]<br /><span style="color: #008080; ">16</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><span style="color: #008080; ">17</span>&nbsp;<br /><span style="color: #008080; ">18</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">def</span>&nbsp;set(self,&nbsp;index,&nbsp;val):<br /><span style="color: #008080; ">19</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #800000; ">"""</span><span style="color: #800000; "><br /></span><span style="color: #008080; ">20</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:type&nbsp;index:&nbsp;int<br /></span><span style="color: #008080; ">21</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:type&nbsp;val:&nbsp;int<br /></span><span style="color: #008080; ">22</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:rtype:&nbsp;None<br /></span><span style="color: #008080; ">23</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; ">"""</span><br /><span style="color: #008080; ">24</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;self.his_arr[index][-1]&nbsp;==&nbsp;val:<br /><span style="color: #008080; ">25</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;index&nbsp;<span style="color: #0000FF; ">in</span>&nbsp;self.modifed_idx_list:<br /><span style="color: #008080; ">26</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.modifed_idx_list.remove(index)<br /><span style="color: #008080; ">27</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span><br /><span style="color: #008080; ">28</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.cur_arr[index]&nbsp;=&nbsp;val<br /><span style="color: #008080; ">29</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;index&nbsp;<span style="color: #0000FF; ">not</span>&nbsp;<span style="color: #0000FF; ">in</span>&nbsp;self.modifed_idx_list:<br /><span style="color: #008080; ">30</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.modifed_idx_list.add(index)<br /><span style="color: #008080; ">31</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><span style="color: #008080; ">32</span>&nbsp;<br /><span style="color: #008080; ">33</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">def</span>&nbsp;snap(self):<br /><span style="color: #008080; ">34</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #800000; ">"""</span><span style="color: #800000; "><br /></span><span style="color: #008080; ">35</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:rtype:&nbsp;int<br /></span><span style="color: #008080; ">36</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; ">"""</span><br /><span style="color: #008080; ">37</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>&nbsp;i&nbsp;<span style="color: #0000FF; ">in</span>&nbsp;self.modifed_idx_list:<br /><span style="color: #008080; ">38</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.snap_id_arr[i].append(self.snap_id)<br /><span style="color: #008080; ">39</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.his_arr[i].append(self.cur_arr[i])<br /><span style="color: #008080; ">40</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.modifed_idx_list.clear()<br /><span style="color: #008080; ">41</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.snap_id&nbsp;+=&nbsp;1<br /><span style="color: #008080; ">42</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;self.snap_id&nbsp;-&nbsp;1<br /><span style="color: #008080; ">43</span>&nbsp;<br /><span style="color: #008080; ">44</span>&nbsp;<br /><span style="color: #008080; ">45</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">def</span>&nbsp;get(self,&nbsp;index,&nbsp;snap_id):<br /><span style="color: #008080; ">46</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #800000; ">"""</span><span style="color: #800000; "><br /></span><span style="color: #008080; ">47</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:type&nbsp;index:&nbsp;int<br /></span><span style="color: #008080; ">48</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:type&nbsp;snap_id:&nbsp;int<br /></span><span style="color: #008080; ">49</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:rtype:&nbsp;int<br /></span><span style="color: #008080; ">50</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; ">"""</span><br /><span style="color: #008080; ">51</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;arr&nbsp;=&nbsp;self.snap_id_arr[index]<br /><span style="color: #008080; ">52</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;l,&nbsp;r&nbsp;=&nbsp;1,&nbsp;len(arr)<br /><span style="color: #008080; ">53</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">while</span>&nbsp;l&nbsp;&lt;&nbsp;r:<br /><span style="color: #008080; ">54</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mid&nbsp;=&nbsp;(l&nbsp;+&nbsp;r)&nbsp;//&nbsp;2<br /><span style="color: #008080; ">55</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;arr[mid]&nbsp;&lt;=&nbsp;snap_id:<br /><span style="color: #008080; ">56</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;l&nbsp;=&nbsp;mid&nbsp;+&nbsp;1<br /><span style="color: #008080; ">57</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">else</span>:<br /><span style="color: #008080; ">58</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;r&nbsp;=&nbsp;mid<br /><span style="color: #008080; ">59</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;self.his_arr[index][l&nbsp;-&nbsp;1]<br /><span style="color: #008080; ">60</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><span style="color: #008080; ">61</span>&nbsp;<br /><span style="color: #008080; ">62</span>&nbsp;<br /><span style="color: #008080; ">63</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;Your&nbsp;SnapshotArray&nbsp;object&nbsp;will&nbsp;be&nbsp;instantiated&nbsp;and&nbsp;called&nbsp;as&nbsp;such:</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">64</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;obj&nbsp;=&nbsp;SnapshotArray(length)</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">65</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;obj.set(index,val)</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">66</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;param_2&nbsp;=&nbsp;obj.snap()</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">67</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;param_3&nbsp;=&nbsp;obj.get(index,snap_id)</span></div><img src ="http://www.cppblog.com/Uriel/aggbug/229925.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Uriel/" target="_blank">Uriel</a> 2023-06-11 18:12 <a href="http://www.cppblog.com/Uriel/articles/229925.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[LeetCode]1396. Design Underground System (Medium) Python-2023.05.31</title><link>http://www.cppblog.com/Uriel/articles/229913.html</link><dc:creator>Uriel</dc:creator><author>Uriel</author><pubDate>Wed, 31 May 2023 14:32:00 GMT</pubDate><guid>http://www.cppblog.com/Uriel/articles/229913.html</guid><wfw:comment>http://www.cppblog.com/Uriel/comments/229913.html</wfw:comment><comments>http://www.cppblog.com/Uriel/articles/229913.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Uriel/comments/commentRss/229913.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Uriel/services/trackbacks/229913.html</trackback:ping><description><![CDATA[模拟地铁系统进站出站，然后不断query两个站之间的平均通行时间，用python的一个dict存储从st到ed站之间的trip次数和总时间，另一个dict存储某个trip的进站和开始时间<br /><br /><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; ">&nbsp;1</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">1396</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;2</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">Runtime:&nbsp;221&nbsp;ms&nbsp;(Beats&nbsp;56.41%)</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;3</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">Memory:&nbsp;25.4&nbsp;MB&nbsp;(Beats&nbsp;71.79%)</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;4</span>&nbsp;<span style="color: #008000; "></span><br /><span style="color: #008080; ">&nbsp;5</span>&nbsp;<span style="color: #0000FF; ">class</span>&nbsp;UndergroundSystem(object):<br /><span style="color: #008080; ">&nbsp;6</span>&nbsp;<br /><span style="color: #008080; ">&nbsp;7</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">def</span>&nbsp;<span style="color: #800080; ">__init__</span>(self):<br /><span style="color: #008080; ">&nbsp;8</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.trip_cur&nbsp;=&nbsp;{}<br /><span style="color: #008080; ">&nbsp;9</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.trip_his_data&nbsp;=&nbsp;{}<br /><span style="color: #008080; ">10</span>&nbsp;<br /><span style="color: #008080; ">11</span>&nbsp;<br /><span style="color: #008080; ">12</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">def</span>&nbsp;checkIn(self,&nbsp;id,&nbsp;stationName,&nbsp;t):<br /><span style="color: #008080; ">13</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #800000; ">"""</span><span style="color: #800000; "><br /></span><span style="color: #008080; ">14</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:type&nbsp;id:&nbsp;int<br /></span><span style="color: #008080; ">15</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:type&nbsp;stationName:&nbsp;str<br /></span><span style="color: #008080; ">16</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:type&nbsp;t:&nbsp;int<br /></span><span style="color: #008080; ">17</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:rtype:&nbsp;None<br /></span><span style="color: #008080; ">18</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; ">"""</span><br /><span style="color: #008080; ">19</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.trip_cur[id]&nbsp;=&nbsp;(stationName,&nbsp;t)<br /><span style="color: #008080; ">20</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><span style="color: #008080; ">21</span>&nbsp;<br /><span style="color: #008080; ">22</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">def</span>&nbsp;checkOut(self,&nbsp;id,&nbsp;stationName,&nbsp;t):<br /><span style="color: #008080; ">23</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #800000; ">"""</span><span style="color: #800000; "><br /></span><span style="color: #008080; ">24</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:type&nbsp;id:&nbsp;int<br /></span><span style="color: #008080; ">25</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:type&nbsp;stationName:&nbsp;str<br /></span><span style="color: #008080; ">26</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:type&nbsp;t:&nbsp;int<br /></span><span style="color: #008080; ">27</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:rtype:&nbsp;None<br /></span><span style="color: #008080; ">28</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; ">"""</span><br /><span style="color: #008080; ">29</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sta,&nbsp;st&nbsp;=&nbsp;self.trip_cur.pop(id)<br /><span style="color: #008080; ">30</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;total_time,&nbsp;cnt&nbsp;=&nbsp;self.trip_his_data.get((sta,&nbsp;stationName),&nbsp;(0,&nbsp;0))<br /><span style="color: #008080; ">31</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.trip_his_data[(sta,&nbsp;stationName)]&nbsp;=&nbsp;(total_time&nbsp;+&nbsp;t&nbsp;-&nbsp;st,&nbsp;cnt&nbsp;+&nbsp;1)<br /><span style="color: #008080; ">32</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><span style="color: #008080; ">33</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">def</span>&nbsp;getAverageTime(self,&nbsp;startStation,&nbsp;endStation):<br /><span style="color: #008080; ">34</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #800000; ">"""</span><span style="color: #800000; "><br /></span><span style="color: #008080; ">35</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:type&nbsp;startStation:&nbsp;str<br /></span><span style="color: #008080; ">36</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:type&nbsp;endStation:&nbsp;str<br /></span><span style="color: #008080; ">37</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:rtype:&nbsp;float<br /></span><span style="color: #008080; ">38</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; ">"""</span><br /><span style="color: #008080; ">39</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;total_time,&nbsp;cnt&nbsp;=&nbsp;self.trip_his_data.get((startStation,&nbsp;endStation))<br /><span style="color: #008080; ">40</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;1.0&nbsp;*&nbsp;total_time&nbsp;/&nbsp;cnt<br /><span style="color: #008080; ">41</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><span style="color: #008080; ">42</span>&nbsp;<br /><span style="color: #008080; ">43</span>&nbsp;<br /><span style="color: #008080; ">44</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;Your&nbsp;UndergroundSystem&nbsp;object&nbsp;will&nbsp;be&nbsp;instantiated&nbsp;and&nbsp;called&nbsp;as&nbsp;such:</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">45</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;obj&nbsp;=&nbsp;UndergroundSystem()</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">46</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;obj.checkIn(id,stationName,t)</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">47</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;obj.checkOut(id,stationName,t)</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">48</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;param_3&nbsp;=&nbsp;obj.getAverageTime(startStation,endStation)</span></div><img src ="http://www.cppblog.com/Uriel/aggbug/229913.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Uriel/" target="_blank">Uriel</a> 2023-05-31 22:32 <a href="http://www.cppblog.com/Uriel/articles/229913.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[LeetCode]59. Spiral Matrix II (Medium) Python-2023.05.10</title><link>http://www.cppblog.com/Uriel/articles/229875.html</link><dc:creator>Uriel</dc:creator><author>Uriel</author><pubDate>Wed, 10 May 2023 08:52:00 GMT</pubDate><guid>http://www.cppblog.com/Uriel/articles/229875.html</guid><wfw:comment>http://www.cppblog.com/Uriel/comments/229875.html</wfw:comment><comments>http://www.cppblog.com/Uriel/articles/229875.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Uriel/comments/commentRss/229875.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Uriel/services/trackbacks/229875.html</trackback:ping><description><![CDATA[类似54，反向操作，将1～n^2按螺旋次序填入n*n的二维数组，思路也和54一样<br /><br /><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; ">&nbsp;1</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">59</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;2</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">Runtime:&nbsp;11&nbsp;ms&nbsp;(Beats&nbsp;96.98%)</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;3</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">Memory:&nbsp;13.2&nbsp;MB&nbsp;(Beats&nbsp;99.66%)</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;4</span>&nbsp;<span style="color: #008000; "></span><br /><span style="color: #008080; ">&nbsp;5</span>&nbsp;<span style="color: #0000FF; ">class</span>&nbsp;Solution(object):<br /><span style="color: #008080; ">&nbsp;6</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">def</span>&nbsp;generateMatrix(self,&nbsp;n):<br /><span style="color: #008080; ">&nbsp;7</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #800000; ">"""</span><span style="color: #800000; "><br /></span><span style="color: #008080; ">&nbsp;8</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:type&nbsp;n:&nbsp;int<br /></span><span style="color: #008080; ">&nbsp;9</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:rtype:&nbsp;List[List[int]]<br /></span><span style="color: #008080; ">10</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; ">"""</span><br /><span style="color: #008080; ">11</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fg&nbsp;=&nbsp;[[0]&nbsp;*&nbsp;n&nbsp;<span style="color: #0000FF; ">for</span>&nbsp;_&nbsp;<span style="color: #0000FF; ">in</span>&nbsp;range(n)]<br /><span style="color: #008080; ">12</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fg[0][0]&nbsp;=&nbsp;1<br /><span style="color: #008080; ">13</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i,&nbsp;j,&nbsp;cnt,&nbsp;t&nbsp;=&nbsp;0,&nbsp;0,&nbsp;1,&nbsp;0<br /><span style="color: #008080; ">14</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">while</span>&nbsp;cnt&nbsp;&lt;&nbsp;n**2:<br /><span style="color: #008080; ">15</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;t&nbsp;%&nbsp;4&nbsp;==&nbsp;0:<br /><span style="color: #008080; ">16</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">while</span>&nbsp;j&nbsp;&lt;&nbsp;n&nbsp;-&nbsp;1&nbsp;<span style="color: #0000FF; ">and</span>&nbsp;<span style="color: #0000FF; ">not</span>&nbsp;fg[i][j&nbsp;+&nbsp;1]:<br /><span style="color: #008080; ">17</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;j&nbsp;+=&nbsp;1<br /><span style="color: #008080; ">18</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cnt&nbsp;+=&nbsp;1<br /><span style="color: #008080; ">19</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fg[i][j]&nbsp;=&nbsp;cnt<br /><span style="color: #008080; ">20</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">elif</span>&nbsp;t&nbsp;%&nbsp;4&nbsp;==&nbsp;1:<br /><span style="color: #008080; ">21</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">while</span>&nbsp;i&nbsp;&lt;&nbsp;n&nbsp;-&nbsp;1&nbsp;<span style="color: #0000FF; ">and</span>&nbsp;<span style="color: #0000FF; ">not</span>&nbsp;fg[i&nbsp;+&nbsp;1][j]:<br /><span style="color: #008080; ">22</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i&nbsp;+=&nbsp;1<br /><span style="color: #008080; ">23</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cnt&nbsp;+=&nbsp;1<br /><span style="color: #008080; ">24</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fg[i][j]&nbsp;=&nbsp;cnt<br /><span style="color: #008080; ">25</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">elif</span>&nbsp;t&nbsp;%&nbsp;4&nbsp;==&nbsp;2:<br /><span style="color: #008080; ">26</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">while</span>&nbsp;j&nbsp;&gt;=&nbsp;0&nbsp;<span style="color: #0000FF; ">and</span>&nbsp;<span style="color: #0000FF; ">not</span>&nbsp;fg[i][j&nbsp;-&nbsp;1]:<br /><span style="color: #008080; ">27</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;j&nbsp;-=&nbsp;1<br /><span style="color: #008080; ">28</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cnt&nbsp;+=&nbsp;1<br /><span style="color: #008080; ">29</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fg[i][j]&nbsp;=&nbsp;cnt<br /><span style="color: #008080; ">30</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">elif</span>&nbsp;t&nbsp;%&nbsp;4&nbsp;==&nbsp;3:<br /><span style="color: #008080; ">31</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">while</span>&nbsp;i&nbsp;&gt;=&nbsp;0&nbsp;<span style="color: #0000FF; ">and</span>&nbsp;<span style="color: #0000FF; ">not</span>&nbsp;fg[i&nbsp;-&nbsp;1][j]:<br /><span style="color: #008080; ">32</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i&nbsp;-=&nbsp;1<br /><span style="color: #008080; ">33</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cnt&nbsp;+=&nbsp;1<br /><span style="color: #008080; ">34</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fg[i][j]&nbsp;=&nbsp;cnt<br /><span style="color: #008080; ">35</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t&nbsp;+=&nbsp;1<br /><span style="color: #008080; ">36</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;fg</div><img src ="http://www.cppblog.com/Uriel/aggbug/229875.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Uriel/" target="_blank">Uriel</a> 2023-05-10 16:52 <a href="http://www.cppblog.com/Uriel/articles/229875.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[LeetCode]54. Spiral Matrix (Medium) Python-2023.05.09</title><link>http://www.cppblog.com/Uriel/articles/229872.html</link><dc:creator>Uriel</dc:creator><author>Uriel</author><pubDate>Tue, 09 May 2023 06:48:00 GMT</pubDate><guid>http://www.cppblog.com/Uriel/articles/229872.html</guid><wfw:comment>http://www.cppblog.com/Uriel/comments/229872.html</wfw:comment><comments>http://www.cppblog.com/Uriel/articles/229872.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Uriel/comments/commentRss/229872.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Uriel/services/trackbacks/229872.html</trackback:ping><description><![CDATA[将一个二维数组螺旋向内的顺序输出，简单模拟<br /><br /><div>Input: matrix =[<br />[1,2,3],<br />[4,5,6],<br />[7,8,9]]</div><div>Output: [1,2,3,6,9,8,7,4,5]<br /><br /><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; ">&nbsp;1</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">54</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;2</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">Runtime:&nbsp;18&nbsp;ms&nbsp;(Beats&nbsp;50.87%)</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;3</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">Memory:&nbsp;13.3&nbsp;MB&nbsp;(Beats&nbsp;90.64%)</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;4</span>&nbsp;<span style="color: #008000; "></span><br /><span style="color: #008080; ">&nbsp;5</span>&nbsp;<span style="color: #0000FF; ">class</span>&nbsp;Solution(object):<br /><span style="color: #008080; ">&nbsp;6</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">def</span>&nbsp;spiralOrder(self,&nbsp;matrix):<br /><span style="color: #008080; ">&nbsp;7</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #800000; ">"""</span><span style="color: #800000; "><br /></span><span style="color: #008080; ">&nbsp;8</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:type&nbsp;matrix:&nbsp;List[List[int]]<br /></span><span style="color: #008080; ">&nbsp;9</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:rtype:&nbsp;List[int]<br /></span><span style="color: #008080; ">10</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; ">"""</span><br /><span style="color: #008080; ">11</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fg&nbsp;=&nbsp;[[0]&nbsp;*&nbsp;len(matrix[0])&nbsp;<span style="color: #0000FF; ">for</span>&nbsp;_&nbsp;<span style="color: #0000FF; ">in</span>&nbsp;range(len(matrix))]<br /><span style="color: #008080; ">12</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ans&nbsp;=&nbsp;[matrix[0][0]]<br /><span style="color: #008080; ">13</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fg[0][0]&nbsp;=&nbsp;1<br /><span style="color: #008080; ">14</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i,&nbsp;j,&nbsp;cnt,&nbsp;t&nbsp;=&nbsp;0,&nbsp;0,&nbsp;1,&nbsp;0<br /><span style="color: #008080; ">15</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">while</span>&nbsp;cnt&nbsp;&lt;&nbsp;len(matrix)&nbsp;*&nbsp;len(matrix[0]):<br /><span style="color: #008080; ">16</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;t&nbsp;%&nbsp;4&nbsp;==&nbsp;0:<br /><span style="color: #008080; ">17</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">while</span>&nbsp;j&nbsp;&lt;&nbsp;len(matrix[0])&nbsp;-&nbsp;1&nbsp;<span style="color: #0000FF; ">and</span>&nbsp;<span style="color: #0000FF; ">not</span>&nbsp;fg[i][j&nbsp;+&nbsp;1]:<br /><span style="color: #008080; ">18</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;j&nbsp;+=&nbsp;1<br /><span style="color: #008080; ">19</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ans.append(matrix[i][j])<br /><span style="color: #008080; ">20</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fg[i][j]&nbsp;=&nbsp;1<br /><span style="color: #008080; ">21</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cnt&nbsp;+=&nbsp;1<br /><span style="color: #008080; ">22</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">elif</span>&nbsp;t&nbsp;%&nbsp;4&nbsp;==&nbsp;1:<br /><span style="color: #008080; ">23</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">while</span>&nbsp;i&nbsp;&lt;&nbsp;len(matrix)&nbsp;-&nbsp;1&nbsp;<span style="color: #0000FF; ">and</span>&nbsp;<span style="color: #0000FF; ">not</span>&nbsp;fg[i&nbsp;+&nbsp;1][j]:<br /><span style="color: #008080; ">24</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i&nbsp;+=&nbsp;1<br /><span style="color: #008080; ">25</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ans.append(matrix[i][j])<br /><span style="color: #008080; ">26</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fg[i][j]&nbsp;=&nbsp;1<br /><span style="color: #008080; ">27</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cnt&nbsp;+=&nbsp;1<br /><span style="color: #008080; ">28</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">elif</span>&nbsp;t&nbsp;%&nbsp;4&nbsp;==&nbsp;2:<br /><span style="color: #008080; ">29</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">while</span>&nbsp;j&nbsp;&gt;=&nbsp;0&nbsp;<span style="color: #0000FF; ">and</span>&nbsp;<span style="color: #0000FF; ">not</span>&nbsp;fg[i][j&nbsp;-&nbsp;1]:<br /><span style="color: #008080; ">30</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;j&nbsp;-=&nbsp;1<br /><span style="color: #008080; ">31</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ans.append(matrix[i][j])<br /><span style="color: #008080; ">32</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fg[i][j]&nbsp;=&nbsp;1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><span style="color: #008080; ">33</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cnt&nbsp;+=&nbsp;1<br /><span style="color: #008080; ">34</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">elif</span>&nbsp;t&nbsp;%&nbsp;4&nbsp;==&nbsp;3:<br /><span style="color: #008080; ">35</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">while</span>&nbsp;i&nbsp;&gt;=&nbsp;0&nbsp;<span style="color: #0000FF; ">and</span>&nbsp;<span style="color: #0000FF; ">not</span>&nbsp;fg[i&nbsp;-&nbsp;1][j]:<br /><span style="color: #008080; ">36</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i&nbsp;-=&nbsp;1<br /><span style="color: #008080; ">37</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ans.append(matrix[i][j])<br /><span style="color: #008080; ">38</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fg[i][j]&nbsp;=&nbsp;1<br /><span style="color: #008080; ">39</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cnt&nbsp;+=&nbsp;1<br /><span style="color: #008080; ">40</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t&nbsp;+=&nbsp;1<br /><span style="color: #008080; ">41</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;ans</div></div><img src ="http://www.cppblog.com/Uriel/aggbug/229872.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Uriel/" target="_blank">Uriel</a> 2023-05-09 14:48 <a href="http://www.cppblog.com/Uriel/articles/229872.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[LeetCode]649. Dota2 Senate (Medium) Python-2023.05.04</title><link>http://www.cppblog.com/Uriel/articles/229862.html</link><dc:creator>Uriel</dc:creator><author>Uriel</author><pubDate>Thu, 04 May 2023 10:09:00 GMT</pubDate><guid>http://www.cppblog.com/Uriel/articles/229862.html</guid><wfw:comment>http://www.cppblog.com/Uriel/comments/229862.html</wfw:comment><comments>http://www.cppblog.com/Uriel/articles/229862.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Uriel/comments/commentRss/229862.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Uriel/services/trackbacks/229862.html</trackback:ping><description><![CDATA[给定一列字符串R和D，代表两个阵营，每次轮到某个人的时候，可以选择ban下一个人，或者如果当前所有人都属于同一阵营时，宣告该阵营胜利，输出最后胜利的阵营，模拟题<br /><br /><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; ">&nbsp;1</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">649</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;2</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">Runtime:&nbsp;47&nbsp;ms&nbsp;(Beats&nbsp;70%)</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;3</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">Memory:&nbsp;13.9&nbsp;MB&nbsp;(Beats&nbsp;15%)</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;4</span>&nbsp;<span style="color: #008000; "></span><br /><span style="color: #008080; ">&nbsp;5</span>&nbsp;<span style="color: #0000FF; ">class</span>&nbsp;Solution(object):<br /><span style="color: #008080; ">&nbsp;6</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">def</span>&nbsp;predictPartyVictory(self,&nbsp;senate):<br /><span style="color: #008080; ">&nbsp;7</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #800000; ">"""</span><span style="color: #800000; "><br /></span><span style="color: #008080; ">&nbsp;8</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:type&nbsp;senate:&nbsp;str<br /></span><span style="color: #008080; ">&nbsp;9</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:rtype:&nbsp;str<br /></span><span style="color: #008080; ">10</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; ">"""</span><br /><span style="color: #008080; ">11</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;n&nbsp;=&nbsp;len(senate)<br /><span style="color: #008080; ">12</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s,&nbsp;fg&nbsp;=&nbsp;set(),&nbsp;[False]&nbsp;*&nbsp;n<br /><span style="color: #008080; ">13</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b_d&nbsp;=&nbsp;b_r&nbsp;=&nbsp;0<br /><span style="color: #008080; ">14</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">while</span>&nbsp;len(s)&nbsp;!=&nbsp;1:<br /><span style="color: #008080; ">15</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s&nbsp;=&nbsp;set()<br /><span style="color: #008080; ">16</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>&nbsp;i&nbsp;<span style="color: #0000FF; ">in</span>&nbsp;range(n):<br /><span style="color: #008080; ">17</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;<span style="color: #0000FF; ">not</span>&nbsp;fg[i]:<br /><span style="color: #008080; ">18</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;senate[i]&nbsp;==&nbsp;<span style="color: #800000; ">'</span><span style="color: #800000; ">R</span><span style="color: #800000; ">'</span>:<br /><span style="color: #008080; ">19</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;b_r&nbsp;&gt;&nbsp;0:&nbsp;<br /><span style="color: #008080; ">20</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b_r&nbsp;-=&nbsp;1<br /><span style="color: #008080; ">21</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fg[i]&nbsp;=&nbsp;True<br /><span style="color: #008080; ">22</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">else</span>:<br /><span style="color: #008080; ">23</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b_d&nbsp;+=&nbsp;1<br /><span style="color: #008080; ">24</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s.add(<span style="color: #800000; ">'</span><span style="color: #800000; ">R</span><span style="color: #800000; ">'</span>)<br /><span style="color: #008080; ">25</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">else</span>:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><span style="color: #008080; ">26</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;b_d&nbsp;&gt;&nbsp;0:<br /><span style="color: #008080; ">27</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b_d&nbsp;-=&nbsp;1<br /><span style="color: #008080; ">28</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fg[i]&nbsp;=&nbsp;True<br /><span style="color: #008080; ">29</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">else</span>:<br /><span style="color: #008080; ">30</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b_r&nbsp;+=&nbsp;1<br /><span style="color: #008080; ">31</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s.add(<span style="color: #800000; ">'</span><span style="color: #800000; ">D</span><span style="color: #800000; ">'</span>)<br /><span style="color: #008080; ">32</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;<span style="color: #800000; ">'</span><span style="color: #800000; ">Radiant</span><span style="color: #800000; ">'</span>&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;<span style="color: #800000; ">'</span><span style="color: #800000; ">R</span><span style="color: #800000; ">'</span>&nbsp;<span style="color: #0000FF; ">in</span>&nbsp;s&nbsp;<span style="color: #0000FF; ">else</span>&nbsp;<span style="color: #800000; ">'</span><span style="color: #800000; ">Dire</span><span style="color: #800000; ">'</span></div><img src ="http://www.cppblog.com/Uriel/aggbug/229862.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Uriel/" target="_blank">Uriel</a> 2023-05-04 18:09 <a href="http://www.cppblog.com/Uriel/articles/229862.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[LeetCode]2336. Smallest Number in Infinite Set (Medium) Python-2023.04.25</title><link>http://www.cppblog.com/Uriel/articles/229842.html</link><dc:creator>Uriel</dc:creator><author>Uriel</author><pubDate>Tue, 25 Apr 2023 12:01:00 GMT</pubDate><guid>http://www.cppblog.com/Uriel/articles/229842.html</guid><wfw:comment>http://www.cppblog.com/Uriel/comments/229842.html</wfw:comment><comments>http://www.cppblog.com/Uriel/articles/229842.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Uriel/comments/commentRss/229842.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Uriel/services/trackbacks/229842.html</trackback:ping><description><![CDATA[模拟优先队列，实现push、pop和初始化操作，用python的heapq<br /><br /><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; ">&nbsp;1</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">2336</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;2</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">Runtime:&nbsp;223&nbsp;ms&nbsp;(Beats&nbsp;35.71%)</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;3</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">Memory:&nbsp;14.2&nbsp;MB&nbsp;(Beats&nbsp;14.29%)</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;4</span>&nbsp;<span style="color: #008000; "></span><br /><span style="color: #008080; ">&nbsp;5</span>&nbsp;<span style="color: #0000FF; ">class</span>&nbsp;SmallestInfiniteSet(object):<br /><span style="color: #008080; ">&nbsp;6</span>&nbsp;<br /><span style="color: #008080; ">&nbsp;7</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">def</span>&nbsp;<span style="color: #800080; ">__init__</span>(self):<br /><span style="color: #008080; ">&nbsp;8</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.hq&nbsp;=&nbsp;[]<br /><span style="color: #008080; ">&nbsp;9</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>&nbsp;i&nbsp;<span style="color: #0000FF; ">in</span>&nbsp;range(1,&nbsp;1001):<br /><span style="color: #008080; ">10</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;heapq.heappush(self.hq,&nbsp;i)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><span style="color: #008080; ">11</span>&nbsp;<br /><span style="color: #008080; ">12</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">def</span>&nbsp;popSmallest(self):<br /><span style="color: #008080; ">13</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #800000; ">"""</span><span style="color: #800000; "><br /></span><span style="color: #008080; ">14</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:rtype:&nbsp;int<br /></span><span style="color: #008080; ">15</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; ">"""</span><br /><span style="color: #008080; ">16</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;heapq.heappop(self.hq)<br /><span style="color: #008080; ">17</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><span style="color: #008080; ">18</span>&nbsp;<br /><span style="color: #008080; ">19</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">def</span>&nbsp;addBack(self,&nbsp;num):<br /><span style="color: #008080; ">20</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #800000; ">"""</span><span style="color: #800000; "><br /></span><span style="color: #008080; ">21</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:type&nbsp;num:&nbsp;int<br /></span><span style="color: #008080; ">22</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:rtype:&nbsp;None<br /></span><span style="color: #008080; ">23</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; ">"""</span><br /><span style="color: #008080; ">24</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;num&nbsp;<span style="color: #0000FF; ">not</span>&nbsp;<span style="color: #0000FF; ">in</span>&nbsp;self.hq:<br /><span style="color: #008080; ">25</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;heapq.heappush(self.hq,&nbsp;num)<br /><span style="color: #008080; ">26</span>&nbsp;<br /><span style="color: #008080; ">27</span>&nbsp;<br /><span style="color: #008080; ">28</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;Your&nbsp;SmallestInfiniteSet&nbsp;object&nbsp;will&nbsp;be&nbsp;instantiated&nbsp;and&nbsp;called&nbsp;as&nbsp;such:</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">29</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;obj&nbsp;=&nbsp;SmallestInfiniteSet()</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">30</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;param_1&nbsp;=&nbsp;obj.popSmallest()</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">31</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;obj.addBack(num)</span></div><img src ="http://www.cppblog.com/Uriel/aggbug/229842.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Uriel/" target="_blank">Uriel</a> 2023-04-25 20:01 <a href="http://www.cppblog.com/Uriel/articles/229842.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[LeetCode]1046. Last Stone Weight (Easy) Python-2023.04.24</title><link>http://www.cppblog.com/Uriel/articles/229839.html</link><dc:creator>Uriel</dc:creator><author>Uriel</author><pubDate>Mon, 24 Apr 2023 12:22:00 GMT</pubDate><guid>http://www.cppblog.com/Uriel/articles/229839.html</guid><wfw:comment>http://www.cppblog.com/Uriel/comments/229839.html</wfw:comment><comments>http://www.cppblog.com/Uriel/articles/229839.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Uriel/comments/commentRss/229839.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Uriel/services/trackbacks/229839.html</trackback:ping><description><![CDATA[有一堆石子，每次取其中最大重量的两颗，若重量一样，则两颗都消失，否则其中一颗消失，另一颗重量变为两者重量之差，问最后剩下的石头重量多少，用priority queue直接模拟即可<br /><br /><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; ">&nbsp;1</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">1046</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;2</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">Runtime:&nbsp;29&nbsp;ms&nbsp;(Beats&nbsp;83.46%)</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;3</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">Memory:&nbsp;13.9&nbsp;MB&nbsp;(Beats&nbsp;47.65%)</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;4</span>&nbsp;<span style="color: #008000; "></span><br /><span style="color: #008080; ">&nbsp;5</span>&nbsp;<span style="color: #0000FF; ">class</span>&nbsp;Solution:<br /><span style="color: #008080; ">&nbsp;6</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">def</span>&nbsp;lastStoneWeight(self,&nbsp;stones:&nbsp;List[int])&nbsp;-&gt;&nbsp;int:<br /><span style="color: #008080; ">&nbsp;7</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hp&nbsp;=&nbsp;[]<br /><span style="color: #008080; ">&nbsp;8</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>&nbsp;st&nbsp;<span style="color: #0000FF; ">in</span>&nbsp;stones:<br /><span style="color: #008080; ">&nbsp;9</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;heapq.heappush(hp,&nbsp;-st)<br /><span style="color: #008080; ">10</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">while</span>&nbsp;len(hp)&nbsp;&gt;=&nbsp;2:<br /><span style="color: #008080; ">11</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s1&nbsp;=&nbsp;heapq.heappop(hp)<br /><span style="color: #008080; ">12</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s2&nbsp;=&nbsp;heapq.heappop(hp)<br /><span style="color: #008080; ">13</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;s2&nbsp;&gt;&nbsp;s1:<br /><span style="color: #008080; ">14</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;heapq.heappush(hp,&nbsp;s1&nbsp;-&nbsp;s2)<br /><span style="color: #008080; ">15</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;abs(hp[0])&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;hp&nbsp;<span style="color: #0000FF; ">else</span>&nbsp;0</div><img src ="http://www.cppblog.com/Uriel/aggbug/229839.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Uriel/" target="_blank">Uriel</a> 2023-04-24 20:22 <a href="http://www.cppblog.com/Uriel/articles/229839.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[LeetCode]946. Validate Stack Sequences (Medium) Python-2023.04.13</title><link>http://www.cppblog.com/Uriel/articles/229819.html</link><dc:creator>Uriel</dc:creator><author>Uriel</author><pubDate>Thu, 13 Apr 2023 08:54:00 GMT</pubDate><guid>http://www.cppblog.com/Uriel/articles/229819.html</guid><wfw:comment>http://www.cppblog.com/Uriel/comments/229819.html</wfw:comment><comments>http://www.cppblog.com/Uriel/articles/229819.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Uriel/comments/commentRss/229819.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Uriel/services/trackbacks/229819.html</trackback:ping><description><![CDATA[给出push和pop栈的数字序列，问是否来自合法的栈操作，简单模拟<br /><br /><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; ">&nbsp;1</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">946</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;2</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">Runtime:&nbsp;57&nbsp;ms&nbsp;(Beats&nbsp;23.66%)</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;3</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">Memory:&nbsp;13.6&nbsp;MB&nbsp;(Beats&nbsp;67.74%)</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;4</span>&nbsp;<span style="color: #008000; "></span><br /><span style="color: #008080; ">&nbsp;5</span>&nbsp;<span style="color: #0000FF; ">class</span>&nbsp;Solution(object):<br /><span style="color: #008080; ">&nbsp;6</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">def</span>&nbsp;validateStackSequences(self,&nbsp;pushed,&nbsp;popped):<br /><span style="color: #008080; ">&nbsp;7</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #800000; ">"""</span><span style="color: #800000; "><br /></span><span style="color: #008080; ">&nbsp;8</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:type&nbsp;pushed:&nbsp;List[int]<br /></span><span style="color: #008080; ">&nbsp;9</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:type&nbsp;popped:&nbsp;List[int]<br /></span><span style="color: #008080; ">10</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:rtype:&nbsp;bool<br /></span><span style="color: #008080; ">11</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; ">"""</span><br /><span style="color: #008080; ">12</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stk&nbsp;=&nbsp;[]<br /><span style="color: #008080; ">13</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p1,&nbsp;p2&nbsp;=&nbsp;0,&nbsp;0<br /><span style="color: #008080; ">14</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">while</span>&nbsp;p1&nbsp;&lt;&nbsp;len(pushed)&nbsp;<span style="color: #0000FF; ">or</span>&nbsp;p2&nbsp;&lt;&nbsp;len(popped):<br /><span style="color: #008080; ">15</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;stk&nbsp;<span style="color: #0000FF; ">and</span>&nbsp;p2&nbsp;&lt;&nbsp;len(popped)&nbsp;<span style="color: #0000FF; ">and</span>&nbsp;stk[-1]&nbsp;==&nbsp;popped[p2]:<br /><span style="color: #008080; ">16</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stk.pop()<br /><span style="color: #008080; ">17</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p2&nbsp;+=&nbsp;1<br /><span style="color: #008080; ">18</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">elif</span>&nbsp;p1&nbsp;&lt;&nbsp;len(pushed):<br /><span style="color: #008080; ">19</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stk.append(pushed[p1])<br /><span style="color: #008080; ">20</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p1&nbsp;+=&nbsp;1<br /><span style="color: #008080; ">21</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">else</span>:<br /><span style="color: #008080; ">22</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;False<br /><span style="color: #008080; ">23</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;p1&nbsp;==&nbsp;len(pushed)&nbsp;<span style="color: #0000FF; ">and</span>&nbsp;p2&nbsp;==&nbsp;len(popped):<br /><span style="color: #008080; ">24</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;True<br /><span style="color: #008080; ">25</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;False</div><img src ="http://www.cppblog.com/Uriel/aggbug/229819.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Uriel/" target="_blank">Uriel</a> 2023-04-13 16:54 <a href="http://www.cppblog.com/Uriel/articles/229819.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[LeetCode]71. Simplify Path (Medium) Python-2023.04.12</title><link>http://www.cppblog.com/Uriel/articles/229818.html</link><dc:creator>Uriel</dc:creator><author>Uriel</author><pubDate>Wed, 12 Apr 2023 14:53:00 GMT</pubDate><guid>http://www.cppblog.com/Uriel/articles/229818.html</guid><wfw:comment>http://www.cppblog.com/Uriel/comments/229818.html</wfw:comment><comments>http://www.cppblog.com/Uriel/articles/229818.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Uriel/comments/commentRss/229818.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Uriel/services/trackbacks/229818.html</trackback:ping><description><![CDATA[将输入的文件地址改成标准形式，简单模拟<br /><br /><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; ">&nbsp;1</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">71</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;2</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">Runtime:&nbsp;15&nbsp;ms&nbsp;(Beats&nbsp;93.49%)</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;3</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">Memory:&nbsp;13.7&nbsp;MB&nbsp;(Beats&nbsp;13.73%)</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;4</span>&nbsp;<span style="color: #008000; "></span><br /><span style="color: #008080; ">&nbsp;5</span>&nbsp;<span style="color: #0000FF; ">class</span>&nbsp;Solution(object):<br /><span style="color: #008080; ">&nbsp;6</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">def</span>&nbsp;simplifyPath(self,&nbsp;path):<br /><span style="color: #008080; ">&nbsp;7</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #800000; ">"""</span><span style="color: #800000; "><br /></span><span style="color: #008080; ">&nbsp;8</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:type&nbsp;path:&nbsp;str<br /></span><span style="color: #008080; ">&nbsp;9</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:rtype:&nbsp;str<br /></span><span style="color: #008080; ">10</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; ">"""</span><br /><span style="color: #008080; ">11</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ans&nbsp;=&nbsp;[]<br /><span style="color: #008080; ">12</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sub_folders&nbsp;=&nbsp;path.split(<span style="color: #800000; ">"</span><span style="color: #800000; ">/</span><span style="color: #800000; ">"</span>)<br /><span style="color: #008080; ">13</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>&nbsp;sub_folder&nbsp;<span style="color: #0000FF; ">in</span>&nbsp;sub_folders:<br /><span style="color: #008080; ">14</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;sub_folder&nbsp;==&nbsp;<span style="color: #800000; ">"</span><span style="color: #800000; ">.</span><span style="color: #800000; ">"</span>&nbsp;<span style="color: #0000FF; ">or</span>&nbsp;<span style="color: #0000FF; ">not</span>&nbsp;sub_folder:<br /><span style="color: #008080; ">15</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">continue</span><br /><span style="color: #008080; ">16</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">elif</span>&nbsp;sub_folder&nbsp;==&nbsp;<span style="color: #800000; ">"</span><span style="color: #800000; ">..</span><span style="color: #800000; ">"</span>:<br /><span style="color: #008080; ">17</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;ans:<br /><span style="color: #008080; ">18</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ans.pop()<br /><span style="color: #008080; ">19</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">else</span>:<br /><span style="color: #008080; ">20</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ans.append(sub_folder)<br /><span style="color: #008080; ">21</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;<span style="color: #800000; ">"</span><span style="color: #800000; ">/</span><span style="color: #800000; ">"</span>&nbsp;+&nbsp;<span style="color: #800000; ">"</span><span style="color: #800000; ">/</span><span style="color: #800000; ">"</span>.join(ans)</div><img src ="http://www.cppblog.com/Uriel/aggbug/229818.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Uriel/" target="_blank">Uriel</a> 2023-04-12 22:53 <a href="http://www.cppblog.com/Uriel/articles/229818.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[LeetCode]1472. Design Browser History (Medium) Python-2023.03.18</title><link>http://www.cppblog.com/Uriel/articles/229759.html</link><dc:creator>Uriel</dc:creator><author>Uriel</author><pubDate>Sat, 18 Mar 2023 09:21:00 GMT</pubDate><guid>http://www.cppblog.com/Uriel/articles/229759.html</guid><wfw:comment>http://www.cppblog.com/Uriel/comments/229759.html</wfw:comment><comments>http://www.cppblog.com/Uriel/articles/229759.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Uriel/comments/commentRss/229759.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Uriel/services/trackbacks/229759.html</trackback:ping><description><![CDATA[模拟浏览器的历史记录维护，包括前进、后退、浏览某个url操作（注意如果后退之后浏览某个url，那之前后几步的history就不保存了）<br /><br /><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; ">&nbsp;1</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">1472</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;2</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">Runtime:&nbsp;193&nbsp;ms&nbsp;(Beats&nbsp;79.49%)</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;3</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">Memory:&nbsp;16.5&nbsp;MB&nbsp;(Beats&nbsp;54.58%)</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;4</span>&nbsp;<span style="color: #008000; "></span><br /><span style="color: #008080; ">&nbsp;5</span>&nbsp;<span style="color: #0000FF; ">class</span>&nbsp;BrowserHistory(object):<br /><span style="color: #008080; ">&nbsp;6</span>&nbsp;<br /><span style="color: #008080; ">&nbsp;7</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">def</span>&nbsp;<span style="color: #800080; ">__init__</span>(self,&nbsp;homepage):<br /><span style="color: #008080; ">&nbsp;8</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #800000; ">"""</span><span style="color: #800000; "><br /></span><span style="color: #008080; ">&nbsp;9</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:type&nbsp;homepage:&nbsp;str<br /></span><span style="color: #008080; ">10</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; ">"""</span><br /><span style="color: #008080; ">11</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.history&nbsp;=&nbsp;[homepage]<br /><span style="color: #008080; ">12</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.pos&nbsp;=&nbsp;0<br /><span style="color: #008080; ">13</span>&nbsp;<br /><span style="color: #008080; ">14</span>&nbsp;<br /><span style="color: #008080; ">15</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">def</span>&nbsp;visit(self,&nbsp;url):<br /><span style="color: #008080; ">16</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #800000; ">"""</span><span style="color: #800000; "><br /></span><span style="color: #008080; ">17</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:type&nbsp;url:&nbsp;str<br /></span><span style="color: #008080; ">18</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:rtype:&nbsp;None<br /></span><span style="color: #008080; ">19</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; ">"""</span><br /><span style="color: #008080; ">20</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.history&nbsp;=&nbsp;self.history[:self.pos+1]&nbsp;+&nbsp;[url]<br /><span style="color: #008080; ">21</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.pos&nbsp;+=&nbsp;1<br /><span style="color: #008080; ">22</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><span style="color: #008080; ">23</span>&nbsp;<br /><span style="color: #008080; ">24</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">def</span>&nbsp;back(self,&nbsp;steps):<br /><span style="color: #008080; ">25</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #800000; ">"""</span><span style="color: #800000; "><br /></span><span style="color: #008080; ">26</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:type&nbsp;steps:&nbsp;int<br /></span><span style="color: #008080; ">27</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:rtype:&nbsp;str<br /></span><span style="color: #008080; ">28</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; ">"""</span><br /><span style="color: #008080; ">29</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.pos&nbsp;=&nbsp;max(0,&nbsp;self.pos&nbsp;-&nbsp;steps)<br /><span style="color: #008080; ">30</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;self.history[self.pos]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><span style="color: #008080; ">31</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><span style="color: #008080; ">32</span>&nbsp;<br /><span style="color: #008080; ">33</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">def</span>&nbsp;forward(self,&nbsp;steps):<br /><span style="color: #008080; ">34</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #800000; ">"""</span><span style="color: #800000; "><br /></span><span style="color: #008080; ">35</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:type&nbsp;steps:&nbsp;int<br /></span><span style="color: #008080; ">36</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:rtype:&nbsp;str<br /></span><span style="color: #008080; ">37</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; ">"""</span><br /><span style="color: #008080; ">38</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.pos&nbsp;=&nbsp;min(len(self.history)&nbsp;-&nbsp;1,&nbsp;self.pos&nbsp;+&nbsp;steps)<br /><span style="color: #008080; ">39</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;self.history[self.pos]<br /><span style="color: #008080; ">40</span>&nbsp;<br /><span style="color: #008080; ">41</span>&nbsp;<br /><span style="color: #008080; ">42</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;Your&nbsp;BrowserHistory&nbsp;object&nbsp;will&nbsp;be&nbsp;instantiated&nbsp;and&nbsp;called&nbsp;as&nbsp;such:</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">43</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;obj&nbsp;=&nbsp;BrowserHistory(homepage)</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">44</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;obj.visit(url)</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">45</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;param_2&nbsp;=&nbsp;obj.back(steps)</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">46</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;param_3&nbsp;=&nbsp;obj.forward(steps)</span></div><img src ="http://www.cppblog.com/Uriel/aggbug/229759.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Uriel/" target="_blank">Uriel</a> 2023-03-18 17:21 <a href="http://www.cppblog.com/Uriel/articles/229759.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[LeetCode]6. Zigzag Conversion (Medium) C++/Python-2014.01.08/2023.02.03</title><link>http://www.cppblog.com/Uriel/articles/229659.html</link><dc:creator>Uriel</dc:creator><author>Uriel</author><pubDate>Fri, 03 Feb 2023 13:47:00 GMT</pubDate><guid>http://www.cppblog.com/Uriel/articles/229659.html</guid><wfw:comment>http://www.cppblog.com/Uriel/comments/229659.html</wfw:comment><comments>http://www.cppblog.com/Uriel/articles/229659.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Uriel/comments/commentRss/229659.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Uriel/services/trackbacks/229659.html</trackback:ping><description><![CDATA[将一个之字形排列的字符串按行输出，e.g.,<br /><br /><div>P&nbsp; &nbsp; A&nbsp; &nbsp;H&nbsp; &nbsp; N</div><div>A P L S I&nbsp; I G</div><div>Y&nbsp; &nbsp; I&nbsp; &nbsp; R<br /><br /><div style="display: inline-block;"><div>Input: s = "PAYPALISHIRING", numRows = 3</div><div>Output: "PAHNAPLSIIGYIR"<br /><br />直接模拟即可，python写得比较烂<br /><br /><br />C++版：<br /><br /><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; ">&nbsp;1</span>&nbsp;#6<br /><span style="color: #008080; ">&nbsp;2</span>&nbsp;#Runtime:&nbsp;88&nbsp;ms&nbsp;(Beats&nbsp;13.2%)<br /><span style="color: #008080; ">&nbsp;3</span>&nbsp;<br /><span style="color: #008080; ">&nbsp;4</span>&nbsp;<span style="color: #0000FF; ">class</span>&nbsp;Solution&nbsp;{<br /><span style="color: #008080; ">&nbsp;5</span>&nbsp;<span style="color: #0000FF; ">public</span>:<br /><span style="color: #008080; ">&nbsp;6</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">string</span>&nbsp;convert(<span style="color: #0000FF; ">string</span>&nbsp;s,&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;nRows)&nbsp;{<br /><span style="color: #008080; ">&nbsp;7</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(nRows&nbsp;==&nbsp;1)&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;s;<br /><span style="color: #008080; ">&nbsp;8</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">string</span>&nbsp;res;<br /><span style="color: #008080; ">&nbsp;9</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;i&nbsp;=&nbsp;0,&nbsp;j&nbsp;=&nbsp;0,&nbsp;n&nbsp;=&nbsp;s.length();<br /><span style="color: #008080; ">10</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">while</span>(j&nbsp;&lt;&nbsp;s.length())&nbsp;{<br /><span style="color: #008080; ">11</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;res.push_back(s[j]);<br /><span style="color: #008080; ">12</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;j&nbsp;+=&nbsp;2&nbsp;*&nbsp;nRows&nbsp;-&nbsp;2;<br /><span style="color: #008080; ">13</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><span style="color: #008080; ">14</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>(i&nbsp;=&nbsp;1;&nbsp;i&nbsp;&lt;&nbsp;nRows&nbsp;-&nbsp;1;&nbsp;++i)&nbsp;{<br /><span style="color: #008080; ">15</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;j&nbsp;=&nbsp;i;<br /><span style="color: #008080; ">16</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">while</span>(j&nbsp;&lt;&nbsp;s.length())&nbsp;{<br /><span style="color: #008080; ">17</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;res.push_back(s[j]);<br /><span style="color: #008080; ">18</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;j&nbsp;+=&nbsp;2&nbsp;*&nbsp;nRows&nbsp;-&nbsp;2&nbsp;*&nbsp;(i&nbsp;+&nbsp;1);<br /><span style="color: #008080; ">19</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(j&nbsp;&lt;&nbsp;s.length())&nbsp;{<br /><span style="color: #008080; ">20</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;res.push_back(s[j]);<br /><span style="color: #008080; ">21</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;j&nbsp;+=&nbsp;2&nbsp;*&nbsp;i;<br /><span style="color: #008080; ">22</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><span style="color: #008080; ">23</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><span style="color: #008080; ">24</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><span style="color: #008080; ">25</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;j&nbsp;=&nbsp;nRows&nbsp;-&nbsp;1;<br /><span style="color: #008080; ">26</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">while</span>(j&nbsp;&lt;&nbsp;s.length())&nbsp;{<br /><span style="color: #008080; ">27</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;res.push_back(s[j]);<br /><span style="color: #008080; ">28</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;j&nbsp;+=&nbsp;2&nbsp;*&nbsp;nRows&nbsp;-&nbsp;2;<br /><span style="color: #008080; ">29</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><span style="color: #008080; ">30</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;res;<br /><span style="color: #008080; ">31</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><span style="color: #008080; ">32</span>&nbsp;};</div><br /><br /><br />Python版：<br /><br /><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; ">&nbsp;1</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">6</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;2</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">Runtime:&nbsp;1107&nbsp;ms&nbsp;(Beats&nbsp;10.51%)</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;3</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">Memory:&nbsp;21.3&nbsp;MB&nbsp;(Beats&nbsp;5.28%)</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;4</span>&nbsp;<span style="color: #008000; "></span><br /><span style="color: #008080; ">&nbsp;5</span>&nbsp;<span style="color: #0000FF; ">class</span>&nbsp;Solution(object):<br /><span style="color: #008080; ">&nbsp;6</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">def</span>&nbsp;convert(self,&nbsp;s,&nbsp;numRows):<br /><span style="color: #008080; ">&nbsp;7</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #800000; ">"""</span><span style="color: #800000; "><br /></span><span style="color: #008080; ">&nbsp;8</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:type&nbsp;s:&nbsp;str<br /></span><span style="color: #008080; ">&nbsp;9</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:type&nbsp;numRows:&nbsp;int<br /></span><span style="color: #008080; ">10</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:rtype:&nbsp;str<br /></span><span style="color: #008080; ">11</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; ">"""</span><br /><span style="color: #008080; ">12</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;numRows&nbsp;==&nbsp;1:<br /><span style="color: #008080; ">13</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;s<br /><span style="color: #008080; ">14</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;col,&nbsp;i&nbsp;=&nbsp;0,&nbsp;0<br /><span style="color: #008080; ">15</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ans&nbsp;=&nbsp;[]<br /><span style="color: #008080; ">16</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">while</span>&nbsp;i&nbsp;&lt;&nbsp;len(s):<br /><span style="color: #008080; ">17</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;col&nbsp;%&nbsp;(numRows&nbsp;-&nbsp;1)&nbsp;==&nbsp;0:<br /><span style="color: #008080; ">18</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t&nbsp;=&nbsp;[]<br /><span style="color: #008080; ">19</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>&nbsp;j&nbsp;<span style="color: #0000FF; ">in</span>&nbsp;range(numRows):<br /><span style="color: #008080; ">20</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;i&nbsp;&gt;=&nbsp;len(s):<br /><span style="color: #008080; ">21</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t.append(<span style="color: #800000; ">'</span><span style="color: #800000; ">&nbsp;</span><span style="color: #800000; ">'</span>)<br /><span style="color: #008080; ">22</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">else</span>:<br /><span style="color: #008080; ">23</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t.append(s[i])<br /><span style="color: #008080; ">24</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i&nbsp;+=&nbsp;1<br /><span style="color: #008080; ">25</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">else</span>:<br /><span style="color: #008080; ">26</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t=&nbsp;[]<br /><span style="color: #008080; ">27</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>&nbsp;j&nbsp;<span style="color: #0000FF; ">in</span>&nbsp;range(numRows&nbsp;-&nbsp;1,&nbsp;-1,&nbsp;-1):<br /><span style="color: #008080; ">28</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;j&nbsp;%&nbsp;(numRows&nbsp;-&nbsp;1)&nbsp;==&nbsp;col&nbsp;%&nbsp;(numRows&nbsp;-&nbsp;1):<br /><span style="color: #008080; ">29</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t.append(s[i])<br /><span style="color: #008080; ">30</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i&nbsp;+=&nbsp;1<br /><span style="color: #008080; ">31</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">else</span>:<br /><span style="color: #008080; ">32</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t.append(<span style="color: #800000; ">'</span><span style="color: #800000; ">&nbsp;</span><span style="color: #800000; ">'</span>)<br /><span style="color: #008080; ">33</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ans.append(t)<br /><span style="color: #008080; ">34</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;col&nbsp;+=&nbsp;1<br /><span style="color: #008080; ">35</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ans&nbsp;=&nbsp;list(map(list,&nbsp;zip(*ans)))<br /><span style="color: #008080; ">36</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ans&nbsp;=&nbsp;[i&nbsp;<span style="color: #0000FF; ">for</span>&nbsp;item&nbsp;<span style="color: #0000FF; ">in</span>&nbsp;ans&nbsp;<span style="color: #0000FF; ">for</span>&nbsp;i&nbsp;<span style="color: #0000FF; ">in</span>&nbsp;item]<br /><span style="color: #008080; ">37</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ans&nbsp;=&nbsp;<span style="color: #800000; ">''</span>.join(ans)<br /><span style="color: #008080; ">38</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;ans.replace(<span style="color: #800000; ">'</span><span style="color: #800000; ">&nbsp;</span><span style="color: #800000; ">'</span>,&nbsp;<span style="color: #800000; ">''</span>)</div></div></div></div><img src ="http://www.cppblog.com/Uriel/aggbug/229659.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Uriel/" target="_blank">Uriel</a> 2023-02-03 21:47 <a href="http://www.cppblog.com/Uriel/articles/229659.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[LeetCode]460. LFU Cache (Hard) Python-2023.01.29</title><link>http://www.cppblog.com/Uriel/articles/229652.html</link><dc:creator>Uriel</dc:creator><author>Uriel</author><pubDate>Sun, 29 Jan 2023 12:34:00 GMT</pubDate><guid>http://www.cppblog.com/Uriel/articles/229652.html</guid><wfw:comment>http://www.cppblog.com/Uriel/comments/229652.html</wfw:comment><comments>http://www.cppblog.com/Uriel/articles/229652.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Uriel/comments/commentRss/229652.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Uriel/services/trackbacks/229652.html</trackback:ping><description><![CDATA[<div>模拟Least Frequently Used (LFU) cache的初始化、插入、读取操作</div><div>参考了Discussion-&gt;https://leetcode.com/problems/lfu-cache/solutions/2844415/python-is-easy/</div><div>学习到了python的OrderedDict，用在这里很适合！<br /><br /><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; ">&nbsp;1</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">460</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;2</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">Runtime:&nbsp;1065&nbsp;ms&nbsp;(Beats&nbsp;44.83%)</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;3</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">Memory:&nbsp;88.8&nbsp;MB&nbsp;(Beats&nbsp;13.79%)</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;4</span>&nbsp;<span style="color: #008000; "></span><br /><span style="color: #008080; ">&nbsp;5</span>&nbsp;<span style="color: #0000FF; ">class</span>&nbsp;Obj:<br /><span style="color: #008080; ">&nbsp;6</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">def</span>&nbsp;<span style="color: #800080; ">__init__</span>(self,&nbsp;key,&nbsp;val,&nbsp;cnt):<br /><span style="color: #008080; ">&nbsp;7</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.key&nbsp;=&nbsp;key<br /><span style="color: #008080; ">&nbsp;8</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.val&nbsp;=&nbsp;val<br /><span style="color: #008080; ">&nbsp;9</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.cnt&nbsp;=&nbsp;cnt<br /><span style="color: #008080; ">10</span>&nbsp;<br /><span style="color: #008080; ">11</span>&nbsp;<br /><span style="color: #008080; ">12</span>&nbsp;<span style="color: #0000FF; ">class</span>&nbsp;LFUCache(object):<br /><span style="color: #008080; ">13</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">def</span>&nbsp;<span style="color: #800080; ">__init__</span>(self,&nbsp;capacity):<br /><span style="color: #008080; ">14</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #800000; ">"""</span><span style="color: #800000; "><br /></span><span style="color: #008080; ">15</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:type&nbsp;capacity:&nbsp;int<br /></span><span style="color: #008080; ">16</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; ">"""</span><br /><span style="color: #008080; ">17</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.cap&nbsp;=&nbsp;capacity<br /><span style="color: #008080; ">18</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.obj_keys&nbsp;=&nbsp;{}<br /><span style="color: #008080; ">19</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.obj_cnt&nbsp;=&nbsp;defaultdict(OrderedDict)<br /><span style="color: #008080; ">20</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.min_cnt&nbsp;=&nbsp;None<br /><span style="color: #008080; ">21</span>&nbsp;<br /><span style="color: #008080; ">22</span>&nbsp;<br /><span style="color: #008080; ">23</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">def</span>&nbsp;get(self,&nbsp;key):<br /><span style="color: #008080; ">24</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #800000; ">"""</span><span style="color: #800000; "><br /></span><span style="color: #008080; ">25</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:type&nbsp;key:&nbsp;int<br /></span><span style="color: #008080; ">26</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:rtype:&nbsp;int<br /></span><span style="color: #008080; ">27</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; ">"""</span><br /><span style="color: #008080; ">28</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;key&nbsp;<span style="color: #0000FF; ">not</span>&nbsp;<span style="color: #0000FF; ">in</span>&nbsp;self.obj_keys:<br /><span style="color: #008080; ">29</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;-1<br /><span style="color: #008080; ">30</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;obj&nbsp;=&nbsp;self.obj_keys[key]<br /><span style="color: #008080; ">31</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">del</span>&nbsp;self.obj_cnt[obj.cnt][key]<br /><span style="color: #008080; ">32</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;<span style="color: #0000FF; ">not</span>&nbsp;self.obj_cnt[obj.cnt]:<br /><span style="color: #008080; ">33</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">del</span>&nbsp;self.obj_cnt[obj.cnt]<br /><span style="color: #008080; ">34</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;obj.cnt&nbsp;+=&nbsp;1<br /><span style="color: #008080; ">35</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.obj_cnt[obj.cnt][key]&nbsp;=&nbsp;obj<br /><span style="color: #008080; ">36</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;<span style="color: #0000FF; ">not</span>&nbsp;self.obj_cnt[self.min_cnt]:<br /><span style="color: #008080; ">37</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.min_cnt&nbsp;+=&nbsp;1<br /><span style="color: #008080; ">38</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;obj.val<br /><span style="color: #008080; ">39</span>&nbsp;<br /><span style="color: #008080; ">40</span>&nbsp;<br /><span style="color: #008080; ">41</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">def</span>&nbsp;put(self,&nbsp;key,&nbsp;value):<br /><span style="color: #008080; ">42</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #800000; ">"""</span><span style="color: #800000; "><br /></span><span style="color: #008080; ">43</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:type&nbsp;key:&nbsp;int<br /></span><span style="color: #008080; ">44</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:type&nbsp;value:&nbsp;int<br /></span><span style="color: #008080; ">45</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:rtype:&nbsp;None<br /></span><span style="color: #008080; ">46</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; ">"""</span><br /><span style="color: #008080; ">47</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;<span style="color: #0000FF; ">not</span>&nbsp;self.cap:<br /><span style="color: #008080; ">48</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span><br /><span style="color: #008080; ">49</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;key&nbsp;<span style="color: #0000FF; ">in</span>&nbsp;self.obj_keys:<br /><span style="color: #008080; ">50</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.obj_keys[key].val&nbsp;=&nbsp;value<br /><span style="color: #008080; ">51</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.get(key)<br /><span style="color: #008080; ">52</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span><br /><span style="color: #008080; ">53</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;len(self.obj_keys)&nbsp;==&nbsp;self.cap:<br /><span style="color: #008080; ">54</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;k,&nbsp;n&nbsp;=&nbsp;self.obj_cnt[self.min_cnt].popitem(last=False)&nbsp;<br /><span style="color: #008080; ">55</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">del</span>&nbsp;self.obj_keys[k]<br /><span style="color: #008080; ">56</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.obj_cnt[1][key]&nbsp;=&nbsp;self.obj_keys[key]&nbsp;=&nbsp;Obj(key,&nbsp;value,&nbsp;1)<br /><span style="color: #008080; ">57</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.min_cnt&nbsp;=&nbsp;1<br /><span style="color: #008080; ">58</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span><br /><span style="color: #008080; ">59</span>&nbsp;<br /><span style="color: #008080; ">60</span>&nbsp;<br /><span style="color: #008080; ">61</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;Your&nbsp;LFUCache&nbsp;object&nbsp;will&nbsp;be&nbsp;instantiated&nbsp;and&nbsp;called&nbsp;as&nbsp;such:</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">62</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;obj&nbsp;=&nbsp;LFUCache(capacity)</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">63</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;param_1&nbsp;=&nbsp;obj.get(key)</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">64</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;obj.put(key,value)</span></div></div><img src ="http://www.cppblog.com/Uriel/aggbug/229652.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Uriel/" target="_blank">Uriel</a> 2023-01-29 20:34 <a href="http://www.cppblog.com/Uriel/articles/229652.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[LeetCode]352. Data Stream as Disjoint Intervals (Hard) Python-2023.01.28</title><link>http://www.cppblog.com/Uriel/articles/229651.html</link><dc:creator>Uriel</dc:creator><author>Uriel</author><pubDate>Sat, 28 Jan 2023 07:29:00 GMT</pubDate><guid>http://www.cppblog.com/Uriel/articles/229651.html</guid><wfw:comment>http://www.cppblog.com/Uriel/comments/229651.html</wfw:comment><comments>http://www.cppblog.com/Uriel/articles/229651.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Uriel/comments/commentRss/229651.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Uriel/services/trackbacks/229651.html</trackback:ping><description><![CDATA[构建一个data stream，有以下三种操作：<br /><br />SummaryRanges() -&gt; Initializes the object with an empty stream.<div>void addNum(int value) -&gt; Adds the integer value to the stream.</div><div>int[][] getIntervals() -&gt; Returns a summary of the integers in the stream currently as a list of disjoint intervals [starti, endi]. The answer should be sorted by starti.<br /><br />Discussion中有人使用python的Sorted List，其实不必，参考-&gt;https://leetcode.com/problems/data-stream-as-disjoint-intervals/solutions/531106/python-solution-using-bisect-to-do-binary-search-beating-99-5-in-time/<br /><br />初始化两个intervals：[[-10001, -10001], [10001, 10001]] （比data stream小1或者大1即可），每次插入时调用bisect.bisect返回该插入在何处，通过判断当前要插入的值是否与前一个或者后一个区间有overlap来决定是否需要合并区间<br /><br /><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; ">&nbsp;1</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">352</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;2</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">Runtime:&nbsp;115&nbsp;ms&nbsp;(Beats&nbsp;100%)</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;3</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">Memory:&nbsp;18.5&nbsp;MB&nbsp;(Beats&nbsp;88.46%)</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;4</span>&nbsp;<span style="color: #008000; "></span><br /><span style="color: #008080; ">&nbsp;5</span>&nbsp;<span style="color: #0000FF; ">class</span>&nbsp;SummaryRanges(object):<br /><span style="color: #008080; ">&nbsp;6</span>&nbsp;<br /><span style="color: #008080; ">&nbsp;7</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">def</span>&nbsp;<span style="color: #800080; ">__init__</span>(self):<br /><span style="color: #008080; ">&nbsp;8</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.ds&nbsp;=&nbsp;[[-10001,&nbsp;-10001],&nbsp;[10001,&nbsp;10001]]<br /><span style="color: #008080; ">&nbsp;9</span>&nbsp;<br /><span style="color: #008080; ">10</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">def</span>&nbsp;addNum(self,&nbsp;value):<br /><span style="color: #008080; ">11</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #800000; ">"""</span><span style="color: #800000; "><br /></span><span style="color: #008080; ">12</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:type&nbsp;value:&nbsp;int<br /></span><span style="color: #008080; ">13</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:rtype:&nbsp;None<br /></span><span style="color: #008080; ">14</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; ">"""</span><br /><span style="color: #008080; ">15</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;idx&nbsp;=&nbsp;bisect.bisect(self.ds,&nbsp;[value])<br /><span style="color: #008080; ">16</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;l1,&nbsp;l2&nbsp;=&nbsp;self.ds[idx&nbsp;-&nbsp;1]<br /><span style="color: #008080; ">17</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;r1,&nbsp;r2&nbsp;=&nbsp;self.ds[idx]<br /><span style="color: #008080; ">18</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;l2&nbsp;==&nbsp;value&nbsp;-&nbsp;1&nbsp;<span style="color: #0000FF; ">and</span>&nbsp;r1&nbsp;==&nbsp;value&nbsp;+&nbsp;1:<br /><span style="color: #008080; ">19</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.ds&nbsp;=&nbsp;self.ds[&nbsp;:&nbsp;idx&nbsp;-&nbsp;1]&nbsp;+&nbsp;[[l1,&nbsp;r2]]&nbsp;+&nbsp;self.ds[idx&nbsp;+&nbsp;1&nbsp;:&nbsp;]<br /><span style="color: #008080; ">20</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">elif</span>&nbsp;l2&nbsp;==&nbsp;value&nbsp;-&nbsp;1:<br /><span style="color: #008080; ">21</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.ds[idx&nbsp;-&nbsp;1][1]&nbsp;=&nbsp;value<br /><span style="color: #008080; ">22</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">elif</span>&nbsp;r1&nbsp;==&nbsp;value&nbsp;+&nbsp;1:<br /><span style="color: #008080; ">23</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.ds[idx][0]&nbsp;=&nbsp;value<br /><span style="color: #008080; ">24</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">elif</span>&nbsp;l2&nbsp;&lt;&nbsp;value&nbsp;-&nbsp;1&nbsp;<span style="color: #0000FF; ">and</span>&nbsp;r1&nbsp;&gt;&nbsp;value&nbsp;+&nbsp;1:<br /><span style="color: #008080; ">25</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.ds&nbsp;=&nbsp;self.ds[&nbsp;:&nbsp;idx]&nbsp;+&nbsp;[[value,&nbsp;value]]&nbsp;+&nbsp;self.ds[idx&nbsp;:&nbsp;]<br /><span style="color: #008080; ">26</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><span style="color: #008080; ">27</span>&nbsp;<br /><span style="color: #008080; ">28</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">def</span>&nbsp;getIntervals(self):<br /><span style="color: #008080; ">29</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #800000; ">"""</span><span style="color: #800000; "><br /></span><span style="color: #008080; ">30</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:rtype:&nbsp;List[List[int]]<br /></span><span style="color: #008080; ">31</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; ">"""</span><br /><span style="color: #008080; ">32</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;self.ds[1&nbsp;:&nbsp;-1]<br /><span style="color: #008080; ">33</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><span style="color: #008080; ">34</span>&nbsp;<br /><span style="color: #008080; ">35</span>&nbsp;<br /><span style="color: #008080; ">36</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;Your&nbsp;SummaryRanges&nbsp;object&nbsp;will&nbsp;be&nbsp;instantiated&nbsp;and&nbsp;called&nbsp;as&nbsp;such:</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">37</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;obj&nbsp;=&nbsp;SummaryRanges()</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">38</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;obj.addNum(value)</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">39</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;param_2&nbsp;=&nbsp;obj.getIntervals()</span></div></div><img src ="http://www.cppblog.com/Uriel/aggbug/229651.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Uriel/" target="_blank">Uriel</a> 2023-01-28 15:29 <a href="http://www.cppblog.com/Uriel/articles/229651.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[LeetCode]57. Insert Interval (Medium) Python-2023.01.16</title><link>http://www.cppblog.com/Uriel/articles/229629.html</link><dc:creator>Uriel</dc:creator><author>Uriel</author><pubDate>Mon, 16 Jan 2023 08:42:00 GMT</pubDate><guid>http://www.cppblog.com/Uriel/articles/229629.html</guid><wfw:comment>http://www.cppblog.com/Uriel/comments/229629.html</wfw:comment><comments>http://www.cppblog.com/Uriel/articles/229629.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Uriel/comments/commentRss/229629.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Uriel/services/trackbacks/229629.html</trackback:ping><description><![CDATA[给定一堆数值区间intervals，要加入一个新的区间newInterval，求更新后的数值区间list<br />因为intervals是已经排好序的，所以只要O(n)扫一遍intervals，每次对比intervals[i]的起点终点与newInterval的范围，根据不同情况更新合并后的区间塞入ans，注意考虑intervals为空的情况<br />代码写得比较烂，但速度和内存表现还可以<br /><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; ">&nbsp;1</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">57</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;2</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">Runtime:&nbsp;47&nbsp;ms&nbsp;(Beats&nbsp;98.92%)</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;3</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">Memory:&nbsp;16.7&nbsp;MB&nbsp;(Beats&nbsp;94.85%)</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;4</span>&nbsp;<span style="color: #008000; "></span><br /><span style="color: #008080; ">&nbsp;5</span>&nbsp;<span style="color: #0000FF; ">class</span>&nbsp;Solution(object):<br /><span style="color: #008080; ">&nbsp;6</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">def</span>&nbsp;insert(self,&nbsp;intervals,&nbsp;newInterval):<br /><span style="color: #008080; ">&nbsp;7</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #800000; ">"""</span><span style="color: #800000; "><br /></span><span style="color: #008080; ">&nbsp;8</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:type&nbsp;intervals:&nbsp;List[List[int]]<br /></span><span style="color: #008080; ">&nbsp;9</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:type&nbsp;newInterval:&nbsp;List[int]<br /></span><span style="color: #008080; ">10</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:rtype:&nbsp;List[List[int]]<br /></span><span style="color: #008080; ">11</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; ">"""</span><br /><span style="color: #008080; ">12</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ans&nbsp;=&nbsp;[]<br /><span style="color: #008080; ">13</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i&nbsp;=&nbsp;0<br /><span style="color: #008080; ">14</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fg&nbsp;=&nbsp;0<br /><span style="color: #008080; ">15</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">while</span>&nbsp;i&nbsp;&lt;&nbsp;len(intervals)&nbsp;:<br /><span style="color: #008080; ">16</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;intervals[i][0]&nbsp;&gt;&nbsp;newInterval[1]:<br /><span style="color: #008080; ">17</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;<span style="color: #0000FF; ">not</span>&nbsp;fg:<br /><span style="color: #008080; ">18</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ans.append([newInterval[0],&nbsp;newInterval[1]])<br /><span style="color: #008080; ">19</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fg&nbsp;=&nbsp;1<br /><span style="color: #008080; ">20</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ans.append([intervals[i][0],&nbsp;intervals[i][1]])<br /><span style="color: #008080; ">21</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i&nbsp;+=&nbsp;1<br /><span style="color: #008080; ">22</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">continue</span><br /><span style="color: #008080; ">23</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;intervals[i][1]&nbsp;&lt;&nbsp;newInterval[0]:<br /><span style="color: #008080; ">24</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ans.append([intervals[i][0],&nbsp;intervals[i][1]])<br /><span style="color: #008080; ">25</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i&nbsp;+=&nbsp;1<br /><span style="color: #008080; ">26</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">continue</span><br /><span style="color: #008080; ">27</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p1&nbsp;=&nbsp;min(newInterval[0],&nbsp;intervals[i][0])<br /><span style="color: #008080; ">28</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">while</span>&nbsp;i&nbsp;&lt;&nbsp;len(intervals)&nbsp;<span style="color: #0000FF; ">and</span>&nbsp;intervals[i][1]&nbsp;&lt;&nbsp;newInterval[1]:<br /><span style="color: #008080; ">29</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i&nbsp;+=&nbsp;1<br /><span style="color: #008080; ">30</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;i&nbsp;==&nbsp;len(intervals):<br /><span style="color: #008080; ">31</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p2&nbsp;=&nbsp;newInterval[1]<br /><span style="color: #008080; ">32</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ans.append([p1,&nbsp;p2])<br /><span style="color: #008080; ">33</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fg&nbsp;=&nbsp;1<br /><span style="color: #008080; ">34</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">else</span>:<br /><span style="color: #008080; ">35</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;intervals[i][0]&nbsp;&gt;&nbsp;newInterval[1]:<br /><span style="color: #008080; ">36</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p2&nbsp;=&nbsp;newInterval[1]<br /><span style="color: #008080; ">37</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ans.append([p1,&nbsp;p2])<br /><span style="color: #008080; ">38</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ans.append([intervals[i][0],&nbsp;intervals[i][1]])<br /><span style="color: #008080; ">39</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">else</span>:<br /><span style="color: #008080; ">40</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p2&nbsp;=&nbsp;intervals[i][1]<br /><span style="color: #008080; ">41</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ans.append([p1,&nbsp;p2])<br /><span style="color: #008080; ">42</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fg&nbsp;=&nbsp;1<br /><span style="color: #008080; ">43</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i&nbsp;+=&nbsp;1<br /><span style="color: #008080; ">44</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">continue</span><br /><span style="color: #008080; ">45</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;<span style="color: #0000FF; ">not</span>&nbsp;fg:<br /><span style="color: #008080; ">46</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ans.append([newInterval[0],&nbsp;newInterval[1]])<br /><span style="color: #008080; ">47</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;ans</div><img src ="http://www.cppblog.com/Uriel/aggbug/229629.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Uriel/" target="_blank">Uriel</a> 2023-01-16 16:42 <a href="http://www.cppblog.com/Uriel/articles/229629.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[LeetCode]224. Basic Calculator (Hard) Python-2022.11.20</title><link>http://www.cppblog.com/Uriel/articles/229533.html</link><dc:creator>Uriel</dc:creator><author>Uriel</author><pubDate>Sun, 20 Nov 2022 12:01:00 GMT</pubDate><guid>http://www.cppblog.com/Uriel/articles/229533.html</guid><wfw:comment>http://www.cppblog.com/Uriel/comments/229533.html</wfw:comment><comments>http://www.cppblog.com/Uriel/articles/229533.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Uriel/comments/commentRss/229533.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Uriel/services/trackbacks/229533.html</trackback:ping><description><![CDATA[模拟加减法计算器，包含+，-，(，)，和数字，栈操作，碰到除")"以外的字符都压进栈，碰到")"就把从上一个"("到目前为止的字符算出一个结果压进栈，处理完第一遍之后此时栈内已无括号，再从左到右计算一次即可，写得比较繁琐，运行效率一般<br /><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; ">&nbsp;1</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">224</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;2</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">Runtime:&nbsp;640&nbsp;ms</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;3</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">Memory&nbsp;Usage:&nbsp;16.7&nbsp;MB</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;4</span>&nbsp;<span style="color: #008000; "></span><br /><span style="color: #008080; ">&nbsp;5</span>&nbsp;<span style="color: #0000FF; ">class</span>&nbsp;Solution(object):<br /><span style="color: #008080; ">&nbsp;6</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">def</span>&nbsp;calculate_brackets_removed(self,&nbsp;stk):<br /><span style="color: #008080; ">&nbsp;7</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pre&nbsp;=&nbsp;0<br /><span style="color: #008080; ">&nbsp;8</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i&nbsp;=&nbsp;0<br /><span style="color: #008080; ">&nbsp;9</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">while</span>&nbsp;i&nbsp;&lt;&nbsp;len(stk):<br /><span style="color: #008080; ">10</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;stk[i]&nbsp;==&nbsp;<span style="color: #800000; ">'</span><span style="color: #800000; ">-</span><span style="color: #800000; ">'</span>&nbsp;<span style="color: #0000FF; ">and</span>&nbsp;<span style="color: #0000FF; ">not</span>&nbsp;i:<br /><span style="color: #008080; ">11</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stk[i&nbsp;+&nbsp;1]&nbsp;=&nbsp;-&nbsp;stk[i&nbsp;+&nbsp;1]<br /><span style="color: #008080; ">12</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i&nbsp;+=&nbsp;1<br /><span style="color: #008080; ">13</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">elif</span>&nbsp;isinstance(stk[i],&nbsp;int):<br /><span style="color: #008080; ">14</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pre&nbsp;=&nbsp;stk[i]<br /><span style="color: #008080; ">15</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i&nbsp;+=&nbsp;1<br /><span style="color: #008080; ">16</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">elif</span>&nbsp;(stk[i]&nbsp;==&nbsp;<span style="color: #800000; ">'</span><span style="color: #800000; ">+</span><span style="color: #800000; ">'</span>&nbsp;<span style="color: #0000FF; ">or</span>&nbsp;stk[i]&nbsp;==&nbsp;<span style="color: #800000; ">'</span><span style="color: #800000; ">-</span><span style="color: #800000; ">'</span>)&nbsp;<span style="color: #0000FF; ">and</span>&nbsp;i:<br /><span style="color: #008080; ">17</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pre&nbsp;=&nbsp;self.cal(stk[i],&nbsp;pre,&nbsp;stk[i&nbsp;+&nbsp;1])<br /><span style="color: #008080; ">18</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i&nbsp;=&nbsp;i&nbsp;+&nbsp;2<br /><span style="color: #008080; ">19</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;pre<br /><span style="color: #008080; ">20</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><span style="color: #008080; ">21</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">def</span>&nbsp;cal(self,&nbsp;op,&nbsp;a,&nbsp;b):<br /><span style="color: #008080; ">22</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;op&nbsp;==&nbsp;<span style="color: #800000; ">'</span><span style="color: #800000; ">+</span><span style="color: #800000; ">'</span>:<br /><span style="color: #008080; ">23</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;a&nbsp;+&nbsp;b<br /><span style="color: #008080; ">24</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;op&nbsp;==&nbsp;<span style="color: #800000; ">'</span><span style="color: #800000; ">-</span><span style="color: #800000; ">'</span>:<br /><span style="color: #008080; ">25</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;a&nbsp;-&nbsp;b<br /><span style="color: #008080; ">26</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><span style="color: #008080; ">27</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">def</span>&nbsp;calculate(self,&nbsp;s):<br /><span style="color: #008080; ">28</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #800000; ">"""</span><span style="color: #800000; "><br /></span><span style="color: #008080; ">29</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:type&nbsp;s:&nbsp;str<br /></span><span style="color: #008080; ">30</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:rtype:&nbsp;int<br /></span><span style="color: #008080; ">31</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; ">"""</span><br /><span style="color: #008080; ">32</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stk&nbsp;=&nbsp;[]<br /><span style="color: #008080; ">33</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p&nbsp;=&nbsp;0<br /><span style="color: #008080; ">34</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>&nbsp;i&nbsp;<span style="color: #0000FF; ">in</span>&nbsp;s:<br /><span style="color: #008080; ">35</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;i&nbsp;==&nbsp;<span style="color: #800000; ">'</span><span style="color: #800000; ">&nbsp;</span><span style="color: #800000; ">'</span>:<br /><span style="color: #008080; ">36</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">continue</span><br /><span style="color: #008080; ">37</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;i&nbsp;==&nbsp;<span style="color: #800000; ">'</span><span style="color: #800000; ">(</span><span style="color: #800000; ">'</span>:<br /><span style="color: #008080; ">38</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stk.append(i)<br /><span style="color: #008080; ">39</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">elif</span>&nbsp;i.isnumeric():<br /><span style="color: #008080; ">40</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;stk&nbsp;<span style="color: #0000FF; ">and</span>&nbsp;isinstance(stk[-1],&nbsp;int):<br /><span style="color: #008080; ">41</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t&nbsp;=&nbsp;int(stk[-1])&nbsp;*&nbsp;10&nbsp;+&nbsp;int(i)<br /><span style="color: #008080; ">42</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stk.pop()<br /><span style="color: #008080; ">43</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stk.append(t)<br /><span style="color: #008080; ">44</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">else</span>:<br /><span style="color: #008080; ">45</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stk.append(int(i))<br /><span style="color: #008080; ">46</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">elif</span>&nbsp;i&nbsp;==&nbsp;<span style="color: #800000; ">'</span><span style="color: #800000; ">)</span><span style="color: #800000; ">'</span>:<br /><span style="color: #008080; ">47</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stk_rev&nbsp;=&nbsp;stk[::-1]<br /><span style="color: #008080; ">48</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;idx&nbsp;=&nbsp;len(stk)&nbsp;-&nbsp;(stk_rev.index(<span style="color: #800000; ">"</span><span style="color: #800000; ">(</span><span style="color: #800000; ">"</span>)&nbsp;+&nbsp;1)<br /><span style="color: #008080; ">49</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t&nbsp;=&nbsp;self.calculate_brackets_removed(stk[idx&nbsp;+&nbsp;1&nbsp;:&nbsp;])<br /><span style="color: #008080; ">50</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">del</span>&nbsp;stk[idx&nbsp;:&nbsp;]<br /><span style="color: #008080; ">51</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stk.append(t)<br /><span style="color: #008080; ">52</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">elif</span>&nbsp;i&nbsp;==&nbsp;<span style="color: #800000; ">'</span><span style="color: #800000; ">+</span><span style="color: #800000; ">'</span>&nbsp;<span style="color: #0000FF; ">or</span>&nbsp;i&nbsp;==&nbsp;<span style="color: #800000; ">'</span><span style="color: #800000; ">-</span><span style="color: #800000; ">'</span>:<br /><span style="color: #008080; ">53</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stk.append(i)<br /><span style="color: #008080; ">54</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;self.calculate_brackets_removed(stk)</div><img src ="http://www.cppblog.com/Uriel/aggbug/229533.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Uriel/" target="_blank">Uriel</a> 2022-11-20 20:01 <a href="http://www.cppblog.com/Uriel/articles/229533.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>HDU 3378 San Guo Sha---模拟</title><link>http://www.cppblog.com/Uriel/articles/145515.html</link><dc:creator>Uriel</dc:creator><author>Uriel</author><pubDate>Mon, 02 May 2011 15:31:00 GMT</pubDate><guid>http://www.cppblog.com/Uriel/articles/145515.html</guid><wfw:comment>http://www.cppblog.com/Uriel/comments/145515.html</wfw:comment><comments>http://www.cppblog.com/Uriel/articles/145515.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Uriel/comments/commentRss/145515.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Uriel/services/trackbacks/145515.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 今天晚上ch_g和MEC在HDU放了场Virtual Contest, 是以前的一层HDU月赛题...&nbsp;一共8道... 依然悲剧... 组队赛还是不给力啊... ...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 我只过了San Guo Sha&nbsp;这道, 还是最后1.5h一直纠结...&nbsp;&nbsp;<a href='http://www.cppblog.com/Uriel/articles/145515.html'>阅读全文</a><img src ="http://www.cppblog.com/Uriel/aggbug/145515.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Uriel/" target="_blank">Uriel</a> 2011-05-02 23:31 <a href="http://www.cppblog.com/Uriel/articles/145515.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>POJ 1578 Instruens Fabulam---模拟</title><link>http://www.cppblog.com/Uriel/articles/125834.html</link><dc:creator>Uriel</dc:creator><author>Uriel</author><pubDate>Fri, 03 Sep 2010 14:37:00 GMT</pubDate><guid>http://www.cppblog.com/Uriel/articles/125834.html</guid><wfw:comment>http://www.cppblog.com/Uriel/comments/125834.html</wfw:comment><comments>http://www.cppblog.com/Uriel/articles/125834.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Uriel/comments/commentRss/125834.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Uriel/services/trackbacks/125834.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; 很久不切模拟，今天比赛的时候手有点生了。。。&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 这题断断续续做了两天，被各种事情打乱。。&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 纯模拟，方法没什么可说的，这题跟3699有点类似，比3699简单很多...&nbsp;&nbsp;<a href='http://www.cppblog.com/Uriel/articles/125834.html'>阅读全文</a><img src ="http://www.cppblog.com/Uriel/aggbug/125834.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Uriel/" target="_blank">Uriel</a> 2010-09-03 22:37 <a href="http://www.cppblog.com/Uriel/articles/125834.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>POJ 1208 The Blocks Problem---模拟</title><link>http://www.cppblog.com/Uriel/articles/123166.html</link><dc:creator>Uriel</dc:creator><author>Uriel</author><pubDate>Thu, 12 Aug 2010 04:16:00 GMT</pubDate><guid>http://www.cppblog.com/Uriel/articles/123166.html</guid><wfw:comment>http://www.cppblog.com/Uriel/comments/123166.html</wfw:comment><comments>http://www.cppblog.com/Uriel/articles/123166.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Uriel/comments/commentRss/123166.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Uriel/services/trackbacks/123166.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 集训结束了，最后一天想切道水题休息休息，结果被虐一晚上。。。&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 看了Discuss才知道题目都理解错了。。晚上回宿舍改改，早上终于AC了。。//Problem:&nbsp;1208&nbsp;&nbsp;User:&nbsp;U...&nbsp;&nbsp;<a href='http://www.cppblog.com/Uriel/articles/123166.html'>阅读全文</a><img src ="http://www.cppblog.com/Uriel/aggbug/123166.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Uriel/" target="_blank">Uriel</a> 2010-08-12 12:16 <a href="http://www.cppblog.com/Uriel/articles/123166.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>POJ 1791 Paper Cutting---模拟</title><link>http://www.cppblog.com/Uriel/articles/123064.html</link><dc:creator>Uriel</dc:creator><author>Uriel</author><pubDate>Wed, 11 Aug 2010 06:36:00 GMT</pubDate><guid>http://www.cppblog.com/Uriel/articles/123064.html</guid><wfw:comment>http://www.cppblog.com/Uriel/comments/123064.html</wfw:comment><comments>http://www.cppblog.com/Uriel/articles/123064.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Uriel/comments/commentRss/123064.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Uriel/services/trackbacks/123064.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 又是一道去年没切掉的模拟，去年大略看了一下，题目不是很懂就没做。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 今天又翻出来这道题。。果真大水。。= =<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 题意是印刷切割名片，印的时候要A*B张一起印刷，每张名片大小为C*D，印刷纸张大小E*F，问印完之后至少切一刀能把名片都分开(不能把名片叠在一起一刀切)，明白意思之后就显然大水一道了~~<br><br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; FONT-FAMILY: Verdana; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #008000">//</span><span style="COLOR: #008000">Problem:&nbsp;1791&nbsp;&nbsp;User:&nbsp;Uriel<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">Memory:&nbsp;368K&nbsp;&nbsp;Time:&nbsp;0MS<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">Language:&nbsp;G++&nbsp;&nbsp;Result:&nbsp;Accepted<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">Simulation<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">2010.08.11</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">#include</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">stdio.h</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#include</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">stdlib.h</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#include</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">algorithm</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">using</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">namespace</span><span style="COLOR: #000000">&nbsp;std;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">#define</span><span style="COLOR: #000000">&nbsp;INF&nbsp;100000000</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;A,B,C,D,E,F,minx,cut;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img id=Codehighlighter1_252_933_Open_Image onclick="this.style.display='none'; Codehighlighter1_252_933_Open_Text.style.display='none'; Codehighlighter1_252_933_Closed_Image.style.display='inline'; Codehighlighter1_252_933_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_252_933_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_252_933_Closed_Text.style.display='none'; Codehighlighter1_252_933_Open_Image.style.display='inline'; Codehighlighter1_252_933_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;main()</span><span id=Codehighlighter1_252_933_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_252_933_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;hh,ww;<br><img id=Codehighlighter1_330_920_Open_Image onclick="this.style.display='none'; Codehighlighter1_330_920_Open_Text.style.display='none'; Codehighlighter1_330_920_Closed_Image.style.display='inline'; Codehighlighter1_330_920_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_330_920_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_330_920_Closed_Text.style.display='none'; Codehighlighter1_330_920_Open_Image.style.display='inline'; Codehighlighter1_330_920_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000">(scanf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%d&nbsp;%d&nbsp;%d&nbsp;%d&nbsp;%d&nbsp;%d</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">C,</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">D,</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">A,</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">B,</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">E,</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">F),A</span><span style="COLOR: #000000">|</span><span style="COLOR: #000000">B</span><span style="COLOR: #000000">|</span><span style="COLOR: #000000">C</span><span style="COLOR: #000000">|</span><span style="COLOR: #000000">D</span><span style="COLOR: #000000">|</span><span style="COLOR: #000000">E</span><span style="COLOR: #000000">|</span><span style="COLOR: #000000">F)</span><span id=Codehighlighter1_330_920_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_330_920_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;minx</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">INF;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(A</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">B)swap(A,B);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(C</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">D)swap(C,D);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(E</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">F)swap(E,F);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">-----------------------------------------------case&nbsp;1</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cut</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hh</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">A</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">C;ww</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">B</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">D;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(hh</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">E&nbsp;</span><span style="COLOR: #000000">||</span><span style="COLOR: #000000">&nbsp;ww</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">F)</span><span style="COLOR: #0000ff">goto</span><span style="COLOR: #000000">&nbsp;case2;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(E</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">hh)cut</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(F</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">ww)cut</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cut</span><span style="COLOR: #000000">+=</span><span style="COLOR: #000000">C</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">D</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(cut</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">minx)minx</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">cut;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">-----------------------------------------------case&nbsp;2</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">case2:&nbsp;&nbsp;&nbsp;&nbsp;cut</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hh</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">A</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">D;ww</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">B</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">C;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(hh</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">ww)swap(hh,ww);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(hh</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">E&nbsp;</span><span style="COLOR: #000000">||</span><span style="COLOR: #000000">&nbsp;ww</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">F)</span><span style="COLOR: #0000ff">goto</span><span style="COLOR: #000000">&nbsp;flag;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(E</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">hh)cut</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(F</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">ww)cut</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cut</span><span style="COLOR: #000000">+=</span><span style="COLOR: #000000">C</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">D</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(cut</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">minx)minx</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">cut;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>flag:&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(minx</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">INF)printf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">The&nbsp;minimum&nbsp;number&nbsp;of&nbsp;cuts&nbsp;is&nbsp;%d.\n</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,minx);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;puts(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">The&nbsp;paper&nbsp;is&nbsp;too&nbsp;small.</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span></div>
<br><br>
<img src ="http://www.cppblog.com/Uriel/aggbug/123064.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Uriel/" target="_blank">Uriel</a> 2010-08-11 14:36 <a href="http://www.cppblog.com/Uriel/articles/123064.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>POJ 1169 Packing Rectangles---模拟</title><link>http://www.cppblog.com/Uriel/articles/122917.html</link><dc:creator>Uriel</dc:creator><author>Uriel</author><pubDate>Tue, 10 Aug 2010 03:57:00 GMT</pubDate><guid>http://www.cppblog.com/Uriel/articles/122917.html</guid><wfw:comment>http://www.cppblog.com/Uriel/comments/122917.html</wfw:comment><comments>http://www.cppblog.com/Uriel/articles/122917.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Uriel/comments/commentRss/122917.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Uriel/services/trackbacks/122917.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 比较麻烦的模拟，倒不是方法难，主要情况多，过程很简单，就是题目给的那几种情况枚举(开始以为随便放置，所以一直以为是大自然题，所以放了一年没做。。)，题目的case 4 &amp; case 5 可以合并~&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 每种case都要考虑横放...&nbsp;&nbsp;<a href='http://www.cppblog.com/Uriel/articles/122917.html'>阅读全文</a><img src ="http://www.cppblog.com/Uriel/aggbug/122917.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Uriel/" target="_blank">Uriel</a> 2010-08-10 11:57 <a href="http://www.cppblog.com/Uriel/articles/122917.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>