﻿<?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/14390.html</link><description>Research Associate @ Harvard University / Research Interests: Computer Vision, Biomedical Image Analysis, Machine Learning</description><language>zh-cn</language><lastBuildDate>Wed, 07 Feb 2024 16:58:58 GMT</lastBuildDate><pubDate>Wed, 07 Feb 2024 16:58:58 GMT</pubDate><ttl>60</ttl><item><title>[LeetCode]739. Daily Temperatures (Medium) Python-2024.01.31</title><link>http://www.cppblog.com/Uriel/articles/230267.html</link><dc:creator>Uriel</dc:creator><author>Uriel</author><pubDate>Wed, 31 Jan 2024 10:05:00 GMT</pubDate><guid>http://www.cppblog.com/Uriel/articles/230267.html</guid><wfw:comment>http://www.cppblog.com/Uriel/comments/230267.html</wfw:comment><comments>http://www.cppblog.com/Uriel/articles/230267.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Uriel/comments/commentRss/230267.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Uriel/services/trackbacks/230267.html</trackback:ping><description><![CDATA[早前的写法是倒序-&gt;http://www.cppblog.com/Uriel/articles/229495.html<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; ">739</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;998&nbsp;ms&nbsp;(Beats&nbsp;89.58%)</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;23.6&nbsp;MB&nbsp;(Beats&nbsp;98.27%)</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;dailyTemperatures(self,&nbsp;temperatures):<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;temperatures:&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;ans&nbsp;=&nbsp;[0]&nbsp;*&nbsp;len(temperatures)<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;<span style="color: #0000FF; ">for</span>&nbsp;i,&nbsp;t&nbsp;<span style="color: #0000FF; ">in</span>&nbsp;enumerate(temperatures):<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;<span style="color: #0000FF; ">not</span>&nbsp;stk:<br /><span style="color: #008080; ">15</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; ">16</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; ">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;stk&nbsp;<span style="color: #0000FF; ">and</span>&nbsp;temperatures[stk[-1]]&nbsp;&lt;&nbsp;t:<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;idx&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;&nbsp;&nbsp;&nbsp;&nbsp;ans[idx]&nbsp;=&nbsp;i&nbsp;-&nbsp;idx<br /><span style="color: #008080; ">20</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; ">21</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/230267.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> 2024-01-31 18:05 <a href="http://www.cppblog.com/Uriel/articles/230267.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[LeetCode]1457. Pseudo-Palindromic Paths in a Binary Tree (Medium) Python-2024.01.24</title><link>http://www.cppblog.com/Uriel/articles/230262.html</link><dc:creator>Uriel</dc:creator><author>Uriel</author><pubDate>Wed, 24 Jan 2024 11:26:00 GMT</pubDate><guid>http://www.cppblog.com/Uriel/articles/230262.html</guid><wfw:comment>http://www.cppblog.com/Uriel/comments/230262.html</wfw:comment><comments>http://www.cppblog.com/Uriel/articles/230262.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Uriel/comments/commentRss/230262.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Uriel/services/trackbacks/230262.html</trackback:ping><description><![CDATA[思路参考-&gt;https://leetcode.com/problems/pseudo-palindromic-paths-in-a-binary-tree/solutions/2573237/leetcode-the-hard-way-explained-line-by-line/?envType=daily-question&amp;envId=2024-01-24<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; ">1457</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;911&nbsp;ms&nbsp;(Beats&nbsp;96.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;136.7&nbsp;MB&nbsp;(Beats&nbsp;10.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: #008000; ">#</span><span style="color: #008000; ">&nbsp;Definition&nbsp;for&nbsp;a&nbsp;binary&nbsp;tree&nbsp;node.</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;6</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;class&nbsp;TreeNode(object):</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;7</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;__init__(self,&nbsp;val=0,&nbsp;left=None,&nbsp;right=None):</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;8</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.val&nbsp;=&nbsp;val</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;9</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.left&nbsp;=&nbsp;left</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">10</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.right&nbsp;=&nbsp;right</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">11</span>&nbsp;<span style="color: #008000; "></span><span style="color: #0000FF; ">class</span>&nbsp;Solution(object):<br /><span style="color: #008080; ">12</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">def</span>&nbsp;pseudoPalindromicPaths&nbsp;(self,&nbsp;root,&nbsp;cnt&nbsp;=&nbsp;0):<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;root:&nbsp;TreeNode<br /></span><span style="color: #008080; ">15</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:rtype:&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;<span style="color: #0000FF; ">if</span>&nbsp;<span style="color: #0000FF; ">not</span>&nbsp;root:<br /><span style="color: #008080; ">18</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;0<br /><span style="color: #008080; ">19</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cnt&nbsp;^=&nbsp;1&nbsp;&lt;&lt;&nbsp;(root.val&nbsp;-&nbsp;1)<br /><span style="color: #008080; ">20</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;root.left&nbsp;<span style="color: #0000FF; ">is</span>&nbsp;None&nbsp;<span style="color: #0000FF; ">and</span>&nbsp;root.right&nbsp;<span style="color: #0000FF; ">is</span>&nbsp;None:<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&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;cnt&nbsp;&amp;&nbsp;(cnt&nbsp;-&nbsp;1)&nbsp;==&nbsp;0&nbsp;<span style="color: #0000FF; ">else</span>&nbsp;0<br /><span style="color: #008080; ">22</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;self.pseudoPalindromicPaths(root.left,&nbsp;cnt)&nbsp;+&nbsp;self.pseudoPalindromicPaths(root.right,&nbsp;cnt)<br /><span style="color: #008080; ">23</span>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</div><img src ="http://www.cppblog.com/Uriel/aggbug/230262.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> 2024-01-24 19:26 <a href="http://www.cppblog.com/Uriel/articles/230262.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[LeetCode]606. Construct String from Binary Tree (Easy) Python-2023.12.08</title><link>http://www.cppblog.com/Uriel/articles/230223.html</link><dc:creator>Uriel</dc:creator><author>Uriel</author><pubDate>Fri, 08 Dec 2023 16:12:00 GMT</pubDate><guid>http://www.cppblog.com/Uriel/articles/230223.html</guid><wfw:comment>http://www.cppblog.com/Uriel/comments/230223.html</wfw:comment><comments>http://www.cppblog.com/Uriel/articles/230223.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Uriel/comments/commentRss/230223.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Uriel/services/trackbacks/230223.html</trackback:ping><description><![CDATA[先序遍历二叉树并且格式化输出，DFS<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; ">606</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;44&nbsp;ms&nbsp;(Beats&nbsp;7.3%)</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;35.94%)</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: #008000; ">#</span><span style="color: #008000; ">&nbsp;Definition&nbsp;for&nbsp;a&nbsp;binary&nbsp;tree&nbsp;node.</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;6</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;class&nbsp;TreeNode(object):</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;7</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;__init__(self,&nbsp;val=0,&nbsp;left=None,&nbsp;right=None):</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;8</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.val&nbsp;=&nbsp;val</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;9</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.left&nbsp;=&nbsp;left</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">10</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.right&nbsp;=&nbsp;right</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">11</span>&nbsp;<span style="color: #008000; "></span><span style="color: #0000FF; ">class</span>&nbsp;Solution(object):<br /><span style="color: #008080; ">12</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">def</span>&nbsp;tree2str(self,&nbsp;root):<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;root:&nbsp;TreeNode<br /></span><span style="color: #008080; ">15</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:rtype:&nbsp;str<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.ans&nbsp;=&nbsp;<span style="color: #800000; ">""</span><br /><span style="color: #008080; ">18</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">def</span>&nbsp;DFS(node):<br /><span style="color: #008080; ">19</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.ans&nbsp;+=&nbsp;str(node.val)<br /><span style="color: #008080; ">20</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;node.left&nbsp;<span style="color: #0000FF; ">or</span>&nbsp;node.right:<br /><span style="color: #008080; ">21</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.ans&nbsp;+=&nbsp;<span style="color: #800000; ">'</span><span style="color: #800000; ">(</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;<span style="color: #0000FF; ">if</span>&nbsp;node.left:<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;DFS(node.left)<br /><span style="color: #008080; ">24</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.ans&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;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;node.right:<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;self.ans&nbsp;+=&nbsp;<span style="color: #800000; ">'</span><span style="color: #800000; ">(</span><span style="color: #800000; ">'</span><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;DFS(node.right)<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;self.ans&nbsp;+=&nbsp;<span style="color: #800000; ">'</span><span style="color: #800000; ">)</span><span style="color: #800000; ">'</span><br /><span style="color: #008080; ">29</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&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; ">if</span>&nbsp;root:<br /><span style="color: #008080; ">31</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DFS(root)<br /><span style="color: #008080; ">32</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;self.ans</div><img src ="http://www.cppblog.com/Uriel/aggbug/230223.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-12-09 00:12 <a href="http://www.cppblog.com/Uriel/articles/230223.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]515. Find Largest Value in Each Tree Row (Medium) Python-2023.10.24</title><link>http://www.cppblog.com/Uriel/articles/230156.html</link><dc:creator>Uriel</dc:creator><author>Uriel</author><pubDate>Tue, 24 Oct 2023 10:40:00 GMT</pubDate><guid>http://www.cppblog.com/Uriel/articles/230156.html</guid><wfw:comment>http://www.cppblog.com/Uriel/comments/230156.html</wfw:comment><comments>http://www.cppblog.com/Uriel/articles/230156.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Uriel/comments/commentRss/230156.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Uriel/services/trackbacks/230156.html</trackback:ping><description><![CDATA[求二叉树每一层的最大值，按层BFS<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; ">515</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;26&nbsp;ms&nbsp;(Beats&nbsp;68.6%)</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;17.7&nbsp;MB&nbsp;(Beats&nbsp;71.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: #008000; ">#</span><span style="color: #008000; ">&nbsp;Definition&nbsp;for&nbsp;a&nbsp;binary&nbsp;tree&nbsp;node.</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;6</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;class&nbsp;TreeNode(object):</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;7</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;__init__(self,&nbsp;val=0,&nbsp;left=None,&nbsp;right=None):</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;8</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.val&nbsp;=&nbsp;val</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;9</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.left&nbsp;=&nbsp;left</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">10</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.right&nbsp;=&nbsp;right</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">11</span>&nbsp;<span style="color: #008000; "></span><span style="color: #0000FF; ">class</span>&nbsp;Solution(object):<br /><span style="color: #008080; ">12</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">def</span>&nbsp;largestValues(self,&nbsp;root):<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;root:&nbsp;TreeNode<br /></span><span style="color: #008080; ">15</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:rtype:&nbsp;List[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;<span style="color: #0000FF; ">if</span>&nbsp;<span style="color: #0000FF; ">not</span>&nbsp;root:<br /><span style="color: #008080; ">18</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;[]<br /><span style="color: #008080; ">19</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;q&nbsp;=&nbsp;deque([root])<br /><span style="color: #008080; ">20</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ans&nbsp;=&nbsp;[]<br /><span style="color: #008080; ">21</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">while</span>&nbsp;q:<br /><span style="color: #008080; ">22</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sz&nbsp;=&nbsp;len(q)<br /><span style="color: #008080; ">23</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t&nbsp;=&nbsp;float(<span style="color: #800000; ">'</span><span style="color: #800000; ">-inf</span><span style="color: #800000; ">'</span>)<br /><span style="color: #008080; ">24</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">while</span>&nbsp;sz:<br /><span style="color: #008080; ">25</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sz&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;node&nbsp;=&nbsp;q.popleft()<br /><span style="color: #008080; ">27</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t&nbsp;=&nbsp;max(t,&nbsp;node.val)<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;node.left:<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;q.append(node.left)<br /><span style="color: #008080; ">30</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;node.right:<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;q.append(node.right)<br /><span style="color: #008080; ">32</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ans.append(t)<br /><span style="color: #008080; ">33</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/230156.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-10-24 18:40 <a href="http://www.cppblog.com/Uriel/articles/230156.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[LeetCode]844. Backspace String Compare (Easy) Python-2023.10.19</title><link>http://www.cppblog.com/Uriel/articles/230152.html</link><dc:creator>Uriel</dc:creator><author>Uriel</author><pubDate>Thu, 19 Oct 2023 20:09:00 GMT</pubDate><guid>http://www.cppblog.com/Uriel/articles/230152.html</guid><wfw:comment>http://www.cppblog.com/Uriel/comments/230152.html</wfw:comment><comments>http://www.cppblog.com/Uriel/articles/230152.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Uriel/comments/commentRss/230152.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Uriel/services/trackbacks/230152.html</trackback:ping><description><![CDATA[判断两个字符串是否相等，字符串中间如果出现#，则消除前一个字母<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; ">844</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;31.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.3&nbsp;MB&nbsp;(Beats&nbsp;27.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;backspaceCompare(self,&nbsp;s,&nbsp;t):<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;t:&nbsp;str<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;stk1&nbsp;=&nbsp;[]<br /><span style="color: #008080; ">13</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stk2&nbsp;=&nbsp;[]<br /><span style="color: #008080; ">14</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>&nbsp;ch&nbsp;<span style="color: #0000FF; ">in</span>&nbsp;s:<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;ch&nbsp;==&nbsp;<span style="color: #800000; ">'</span><span style="color: #800000; ">#</span><span style="color: #800000; ">'</span>:<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; ">if</span>&nbsp;len(stk1):<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;stk1.pop()<br /><span style="color: #008080; ">18</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; ">19</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stk1.append(ch)<br /><span style="color: #008080; ">20</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>&nbsp;ch&nbsp;<span style="color: #0000FF; ">in</span>&nbsp;t:<br /><span style="color: #008080; ">21</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;ch&nbsp;==&nbsp;<span style="color: #800000; ">'</span><span style="color: #800000; ">#</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;<span style="color: #0000FF; ">if</span>&nbsp;len(stk2):<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;stk2.pop()<br /><span style="color: #008080; ">24</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; ">25</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stk2.append(ch)<br /><span style="color: #008080; ">26</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;stk1&nbsp;==&nbsp;stk2</div><img src ="http://www.cppblog.com/Uriel/aggbug/230152.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-10-20 04:09 <a href="http://www.cppblog.com/Uriel/articles/230152.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[LeetCode]1361. Validate Binary Tree Nodes (Medium) Python-2023.10.17</title><link>http://www.cppblog.com/Uriel/articles/230150.html</link><dc:creator>Uriel</dc:creator><author>Uriel</author><pubDate>Tue, 17 Oct 2023 14:00:00 GMT</pubDate><guid>http://www.cppblog.com/Uriel/articles/230150.html</guid><wfw:comment>http://www.cppblog.com/Uriel/comments/230150.html</wfw:comment><comments>http://www.cppblog.com/Uriel/articles/230150.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Uriel/comments/commentRss/230150.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Uriel/services/trackbacks/230150.html</trackback:ping><description><![CDATA[给出一颗二叉树节点数量和每个节点的左儿子label集合以及右儿子label集合，问是否是一颗二叉树，先用set选出root然后BFS，如果同一个节点访问不止一次或者有节点访问不到，则不是二叉树<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; ">1361</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;224&nbsp;ms&nbsp;(Beats&nbsp;92.11%)</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;15.5&nbsp;MB&nbsp;(Beats&nbsp;71.5%）</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;validateBinaryTreeNodes(self,&nbsp;n,&nbsp;leftChild,&nbsp;rightChild):<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;:type&nbsp;leftChild:&nbsp;List[int]<br /></span><span style="color: #008080; ">10</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:type&nbsp;rightChild:&nbsp;List[int]<br /></span><span style="color: #008080; ">11</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:rtype:&nbsp;bool<br /></span><span style="color: #008080; ">12</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; ">13</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rt&nbsp;=&nbsp;0<br /><span style="color: #008080; ">14</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;child_nodes&nbsp;=&nbsp;set(leftChild&nbsp;+&nbsp;rightChild)<br /><span style="color: #008080; ">15</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(n):<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;i&nbsp;<span style="color: #0000FF; ">not</span>&nbsp;<span style="color: #0000FF; ">in</span>&nbsp;child_nodes:<br /><span style="color: #008080; ">17</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rt&nbsp;=&nbsp;i<br /><span style="color: #008080; ">18</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;vis&nbsp;=&nbsp;set()<br /><span style="color: #008080; ">19</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;q&nbsp;=&nbsp;deque([rt])<br /><span style="color: #008080; ">20</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">while</span>&nbsp;q:<br /><span style="color: #008080; ">21</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;node&nbsp;=&nbsp;q.popleft()<br /><span style="color: #008080; ">22</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;node&nbsp;<span style="color: #0000FF; ">in</span>&nbsp;vis:<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; ">return</span>&nbsp;False<br /><span style="color: #008080; ">24</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;vis.add(node)<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;leftChild[node]&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;q.append(leftChild[node])&nbsp;<br /><span style="color: #008080; ">27</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;rightChild[node]&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;q.append(rightChild[node])<br /><span style="color: #008080; ">29</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;len(vis)&nbsp;==&nbsp;n</div><img src ="http://www.cppblog.com/Uriel/aggbug/230150.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-10-17 22:00 <a href="http://www.cppblog.com/Uriel/articles/230150.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[LeetCode]287. Find the Duplicate Number (Medium) Python-2023.09.19</title><link>http://www.cppblog.com/Uriel/articles/230093.html</link><dc:creator>Uriel</dc:creator><author>Uriel</author><pubDate>Tue, 19 Sep 2023 10:00:00 GMT</pubDate><guid>http://www.cppblog.com/Uriel/articles/230093.html</guid><wfw:comment>http://www.cppblog.com/Uriel/comments/230093.html</wfw:comment><comments>http://www.cppblog.com/Uriel/articles/230093.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Uriel/comments/commentRss/230093.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Uriel/services/trackbacks/230093.html</trackback:ping><description><![CDATA[找出一个数组中重复的数字（数组中的数字来自1-n，只有一个数字重复出现，可能出现两次以上任何次数）<br />看Discussion get了巧妙思路，把nums[a]=b联想为a.next=b，这样找出重复出现的数字就相当于寻找一个链表中的环<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; ">287</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;473&nbsp;ms&nbsp;(Beats&nbsp;70.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;25&nbsp;MB&nbsp;(Beats&nbsp;91.14%)</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;findDuplicate(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[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;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;slow,&nbsp;fast,&nbsp;ans&nbsp;=&nbsp;0,&nbsp;0,&nbsp;0<br /><span style="color: #008080; ">12</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">while</span>&nbsp;True:<br /><span style="color: #008080; ">13</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;slow&nbsp;=&nbsp;nums[slow]<br /><span style="color: #008080; ">14</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fast&nbsp;=&nbsp;nums[nums[fast]]<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;slow&nbsp;==&nbsp;fast:<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;ans&nbsp;!=&nbsp;slow:<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;ans&nbsp;=&nbsp;nums[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;slow&nbsp;=&nbsp;nums[slow]<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; ">return</span>&nbsp;ans</div><img src ="http://www.cppblog.com/Uriel/aggbug/230093.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-09-19 18:00 <a href="http://www.cppblog.com/Uriel/articles/230093.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[LeetCode]92. Reverse Linked List II (Medium) Python-2023.09.07</title><link>http://www.cppblog.com/Uriel/articles/230069.html</link><dc:creator>Uriel</dc:creator><author>Uriel</author><pubDate>Thu, 07 Sep 2023 08:04:00 GMT</pubDate><guid>http://www.cppblog.com/Uriel/articles/230069.html</guid><wfw:comment>http://www.cppblog.com/Uriel/comments/230069.html</wfw:comment><comments>http://www.cppblog.com/Uriel/articles/230069.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Uriel/comments/commentRss/230069.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Uriel/services/trackbacks/230069.html</trackback:ping><description><![CDATA[翻转单链表[left, right]区间的节点<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; ">92</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;63.77%)</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;14.88%)</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: #008000; ">#</span><span style="color: #008000; ">&nbsp;Definition&nbsp;for&nbsp;singly-linked&nbsp;list.</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;6</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;class&nbsp;ListNode(object):</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;7</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;__init__(self,&nbsp;val=0,&nbsp;next=None):</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;8</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.val&nbsp;=&nbsp;val</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;9</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.next&nbsp;=&nbsp;next</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">10</span>&nbsp;<span style="color: #008000; "></span><span style="color: #0000FF; ">class</span>&nbsp;Solution(object):<br /><span style="color: #008080; ">11</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">def</span>&nbsp;reverseBetween(self,&nbsp;head,&nbsp;left,&nbsp;right):<br /><span style="color: #008080; ">12</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; ">13</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:type&nbsp;head:&nbsp;ListNode<br /></span><span style="color: #008080; ">14</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:type&nbsp;left:&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;right:&nbsp;int<br /></span><span style="color: #008080; ">16</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:rtype:&nbsp;ListNode<br /></span><span style="color: #008080; ">17</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; ">18</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ex_head&nbsp;=&nbsp;ListNode()<br /><span style="color: #008080; ">19</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ex_head.next&nbsp;=&nbsp;head<br /><span style="color: #008080; ">20</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pre&nbsp;=&nbsp;ex_head<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(left&nbsp;-&nbsp;1):<br /><span style="color: #008080; ">22</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pre&nbsp;=&nbsp;pre.next<br /><span style="color: #008080; ">23</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cur&nbsp;=&nbsp;pre.next<br /><span style="color: #008080; ">24</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tp&nbsp;=&nbsp;None<br /><span style="color: #008080; ">25</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(right&nbsp;-&nbsp;left&nbsp;+&nbsp;1):<br /><span style="color: #008080; ">26</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nxt&nbsp;=&nbsp;cur.next<br /><span style="color: #008080; ">27</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cur.next&nbsp;=&nbsp;tp<br /><span style="color: #008080; ">28</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tp&nbsp;=&nbsp;cur<br /><span style="color: #008080; ">29</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cur&nbsp;=&nbsp;nxt<br /><span style="color: #008080; ">30</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pre.next.next&nbsp;=&nbsp;cur<br /><span style="color: #008080; ">31</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pre.next&nbsp;=&nbsp;tp<br /><span style="color: #008080; ">32</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;ex_head.next</div><img src ="http://www.cppblog.com/Uriel/aggbug/230069.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-09-07 16:04 <a href="http://www.cppblog.com/Uriel/articles/230069.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[LeetCode]725. Split Linked List in Parts (Medium) Python-2023.09.06</title><link>http://www.cppblog.com/Uriel/articles/230041.html</link><dc:creator>Uriel</dc:creator><author>Uriel</author><pubDate>Wed, 06 Sep 2023 13:51:00 GMT</pubDate><guid>http://www.cppblog.com/Uriel/articles/230041.html</guid><wfw:comment>http://www.cppblog.com/Uriel/comments/230041.html</wfw:comment><comments>http://www.cppblog.com/Uriel/articles/230041.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Uriel/comments/commentRss/230041.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Uriel/services/trackbacks/230041.html</trackback:ping><description><![CDATA[把一个单链表均分分成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: #008080; ">&nbsp;1</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">725</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.44%)</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;73.77%)</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: #008000; ">#</span><span style="color: #008000; ">&nbsp;Definition&nbsp;for&nbsp;singly-linked&nbsp;list.</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;6</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;class&nbsp;ListNode(object):</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;7</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;__init__(self,&nbsp;val=0,&nbsp;next=None):</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;8</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.val&nbsp;=&nbsp;val</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;9</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.next&nbsp;=&nbsp;next</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">10</span>&nbsp;<span style="color: #008000; "></span><span style="color: #0000FF; ">class</span>&nbsp;Solution(object):<br /><span style="color: #008080; ">11</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">def</span>&nbsp;splitListToParts(self,&nbsp;head,&nbsp;k):<br /><span style="color: #008080; ">12</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; ">13</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:type&nbsp;head:&nbsp;ListNode<br /></span><span style="color: #008080; ">14</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:type&nbsp;k:&nbsp;int<br /></span><span style="color: #008080; ">15</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:rtype:&nbsp;List[ListNode]<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;n&nbsp;=&nbsp;0<br /><span style="color: #008080; ">18</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p&nbsp;=&nbsp;head<br /><span style="color: #008080; ">19</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pre&nbsp;=&nbsp;None<br /><span style="color: #008080; ">20</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">while</span>&nbsp;p:<br /><span style="color: #008080; ">21</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;n&nbsp;+=&nbsp;1<br /><span style="color: #008080; ">22</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p&nbsp;=&nbsp;p.next<br /><span style="color: #008080; ">23</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;l,&nbsp;t&nbsp;=&nbsp;n//k,&nbsp;n%k<br /><span style="color: #008080; ">24</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p&nbsp;=&nbsp;head<br /><span style="color: #008080; ">25</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ans&nbsp;=&nbsp;[]<br /><span style="color: #008080; ">26</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(k):<br /><span style="color: #008080; ">27</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ans.append(p)<br /><span style="color: #008080; ">28</span>&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(l):<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; ">if</span>&nbsp;p:<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;pre&nbsp;=&nbsp;p<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;p&nbsp;=&nbsp;p.next<br /><span style="color: #008080; ">32</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;t&nbsp;<span style="color: #0000FF; ">and</span>&nbsp;p:<br /><span style="color: #008080; ">33</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pre&nbsp;=&nbsp;p<br /><span style="color: #008080; ">34</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p&nbsp;=&nbsp;p.next<br /><span style="color: #008080; ">35</span>&nbsp;&nbsp;&nbsp;&nbsp;&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;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;pre:<br /><span style="color: #008080; ">37</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pre.next&nbsp;=&nbsp;None<br /><span style="color: #008080; ">38</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/230041.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-09-06 21:51 <a href="http://www.cppblog.com/Uriel/articles/230041.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[LeetCode]138. Copy List with Random Pointer (Medium) Python-2023.09.05</title><link>http://www.cppblog.com/Uriel/articles/230038.html</link><dc:creator>Uriel</dc:creator><author>Uriel</author><pubDate>Tue, 05 Sep 2023 05:51:00 GMT</pubDate><guid>http://www.cppblog.com/Uriel/articles/230038.html</guid><wfw:comment>http://www.cppblog.com/Uriel/comments/230038.html</wfw:comment><comments>http://www.cppblog.com/Uriel/articles/230038.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Uriel/comments/commentRss/230038.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Uriel/services/trackbacks/230038.html</trackback:ping><description><![CDATA[实现链表的深度copy，链表除了next指针，每个节点还有一个random指针，指向任意节点，copy的时候也要还原<br />python的dict的妙用<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; ">138</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;28&nbsp;ms&nbsp;(Beats&nbsp;92.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.9&nbsp;MB&nbsp;(Beats&nbsp;70.54%)</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: #800000; ">"""</span><span style="color: #800000; "><br /></span><span style="color: #008080; ">&nbsp;6</span>&nbsp;<span style="color: #800000; ">#&nbsp;Definition&nbsp;for&nbsp;a&nbsp;Node.<br /></span><span style="color: #008080; ">&nbsp;7</span>&nbsp;<span style="color: #800000; ">class&nbsp;Node:<br /></span><span style="color: #008080; ">&nbsp;8</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;__init__(self,&nbsp;x,&nbsp;next=None,&nbsp;random=None):<br /></span><span style="color: #008080; ">&nbsp;9</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.val&nbsp;=&nbsp;int(x)<br /></span><span style="color: #008080; ">10</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.next&nbsp;=&nbsp;next<br /></span><span style="color: #008080; ">11</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.random&nbsp;=&nbsp;random<br /></span><span style="color: #008080; ">12</span>&nbsp;<span style="color: #800000; "></span><span style="color: #800000; ">"""</span><br /><span style="color: #008080; ">13</span>&nbsp;<br /><span style="color: #008080; ">14</span>&nbsp;<span style="color: #0000FF; ">class</span>&nbsp;Solution(object):<br /><span style="color: #008080; ">15</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">def</span>&nbsp;copyRandomList(self,&nbsp;head):<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;head:&nbsp;Node<br /></span><span style="color: #008080; ">18</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:rtype:&nbsp;Node<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;dic&nbsp;=&nbsp;{None:None}<br /><span style="color: #008080; ">21</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cur&nbsp;=&nbsp;head<br /><span style="color: #008080; ">22</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">while</span>&nbsp;cur:<br /><span style="color: #008080; ">23</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dic[cur]&nbsp;=&nbsp;Node(cur.val)<br /><span style="color: #008080; ">24</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cur&nbsp;=&nbsp;cur.next<br /><span style="color: #008080; ">25</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cur&nbsp;=&nbsp;head<br /><span style="color: #008080; ">26</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">while</span>&nbsp;cur:<br /><span style="color: #008080; ">27</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cp&nbsp;=&nbsp;dic[cur]<br /><span style="color: #008080; ">28</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cp.next&nbsp;=&nbsp;dic[cur.next]<br /><span style="color: #008080; ">29</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cp.random&nbsp;=&nbsp;dic[cur.random]<br /><span style="color: #008080; ">30</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cur&nbsp;=&nbsp;cur.next<br /><span style="color: #008080; ">31</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;dic[head]</div><img src ="http://www.cppblog.com/Uriel/aggbug/230038.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-09-05 13:51 <a href="http://www.cppblog.com/Uriel/articles/230038.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[LeetCode]141. Linked List Cycle (Easy) C++/Python-2014.01.06/2023.09.04</title><link>http://www.cppblog.com/Uriel/articles/230037.html</link><dc:creator>Uriel</dc:creator><author>Uriel</author><pubDate>Mon, 04 Sep 2023 14:33:00 GMT</pubDate><guid>http://www.cppblog.com/Uriel/articles/230037.html</guid><wfw:comment>http://www.cppblog.com/Uriel/comments/230037.html</wfw:comment><comments>http://www.cppblog.com/Uriel/articles/230037.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Uriel/comments/commentRss/230037.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Uriel/services/trackbacks/230037.html</trackback:ping><description><![CDATA[判断单链表是否有环，设一快一慢两个指针，快指针每次前进两个节点，慢指针每次前进一个节点，如果两个指针可以相遇，则有环<br /><br /><br />python版<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; ">141</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;75.48%)</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;20.6&nbsp;MB&nbsp;(Beats&nbsp;48.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: #008000; ">#</span><span style="color: #008000; ">&nbsp;Definition&nbsp;for&nbsp;singly-linked&nbsp;list.</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;6</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;class&nbsp;ListNode:</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;7</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;__init__(self,&nbsp;x):</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;8</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.val&nbsp;=&nbsp;x</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;9</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.next&nbsp;=&nbsp;None</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">10</span>&nbsp;<span style="color: #008000; "></span><br /><span style="color: #008080; ">11</span>&nbsp;<span style="color: #0000FF; ">class</span>&nbsp;Solution:<br /><span style="color: #008080; ">12</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">def</span>&nbsp;hasCycle(self,&nbsp;head:&nbsp;Optional[ListNode])&nbsp;-&gt;&nbsp;bool:<br /><span style="color: #008080; ">13</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;slow,&nbsp;fast&nbsp;=&nbsp;head,&nbsp;head<br /><span style="color: #008080; ">14</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">while</span>&nbsp;slow&nbsp;<span style="color: #0000FF; ">and</span>&nbsp;fast&nbsp;<span style="color: #0000FF; ">and</span>&nbsp;fast.next:<br /><span style="color: #008080; ">15</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fast&nbsp;=&nbsp;fast.next.next<br /><span style="color: #008080; ">16</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;slow&nbsp;=&nbsp;slow.next<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;slow&nbsp;==&nbsp;fast:<br /><span style="color: #008080; ">18</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;True<br /><span style="color: #008080; ">19</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;False</div><br /><br /><br />C++版<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; ">141<br /></span><span style="color: #008080; ">&nbsp;2</span>&nbsp;<span style="color: #008000; "></span><span style="color: #008000; ">//</span><span style="color: #008000; ">Runtime:&nbsp;80&nbsp;ms&nbsp;(Beats&nbsp;6.2%)<br /></span><span style="color: #008080; ">&nbsp;3</span>&nbsp;<span style="color: #008000; "></span><span style="color: #008000; ">//</span><span style="color: #008000; ">Memory:&nbsp;N/A&nbsp;(Beats&nbsp;N/A)</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: #008000; ">/*</span><span style="color: #008000; ">*<br /></span><span style="color: #008080; ">&nbsp;6</span>&nbsp;<span style="color: #008000; ">&nbsp;*&nbsp;Definition&nbsp;for&nbsp;singly-linked&nbsp;list.<br /></span><span style="color: #008080; ">&nbsp;7</span>&nbsp;<span style="color: #008000; ">&nbsp;*&nbsp;struct&nbsp;ListNode&nbsp;{<br /></span><span style="color: #008080; ">&nbsp;8</span>&nbsp;<span style="color: #008000; ">&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;val;<br /></span><span style="color: #008080; ">&nbsp;9</span>&nbsp;<span style="color: #008000; ">&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ListNode&nbsp;*next;<br /></span><span style="color: #008080; ">10</span>&nbsp;<span style="color: #008000; ">&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ListNode(int&nbsp;x)&nbsp;:&nbsp;val(x),&nbsp;next(NULL)&nbsp;{}<br /></span><span style="color: #008080; ">11</span>&nbsp;<span style="color: #008000; ">&nbsp;*&nbsp;};<br /></span><span style="color: #008080; ">12</span>&nbsp;<span style="color: #008000; ">&nbsp;</span><span style="color: #008000; ">*/</span><br /><span style="color: #008080; ">13</span>&nbsp;<span style="color: #0000FF; ">class</span>&nbsp;Solution&nbsp;{<br /><span style="color: #008080; ">14</span>&nbsp;<span style="color: #0000FF; ">public</span>:<br /><span style="color: #008080; ">15</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">bool</span>&nbsp;hasCycle(ListNode&nbsp;*head)&nbsp;{<br /><span style="color: #008080; ">16</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ListNode&nbsp;*slow&nbsp;=&nbsp;head,&nbsp;*fast&nbsp;=&nbsp;head;<br /><span style="color: #008080; ">17</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">while</span>(fast&nbsp;&amp;&amp;&nbsp;fast-&gt;next)&nbsp;{<br /><span style="color: #008080; ">18</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;slow&nbsp;=&nbsp;slow-&gt;next;<br /><span style="color: #008080; ">19</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fast&nbsp;=&nbsp;fast-&gt;next-&gt;next;<br /><span style="color: #008080; ">20</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(slow&nbsp;==&nbsp;fast)&nbsp;<span style="color: #0000FF; ">break</span>;<br /><span style="color: #008080; ">21</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><span style="color: #008080; ">22</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(fast&nbsp;==&nbsp;NULL&nbsp;||&nbsp;fast-&gt;next&nbsp;==&nbsp;NULL)&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;<span style="color: #0000FF; ">false</span>;<br /><span style="color: #008080; ">23</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;<span style="color: #0000FF; ">true</span>;<br /><span style="color: #008080; ">24</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><span style="color: #008080; ">25</span>&nbsp;};</div><img src ="http://www.cppblog.com/Uriel/aggbug/230037.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-09-04 22:33 <a href="http://www.cppblog.com/Uriel/articles/230037.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]239. Sliding Window Maximum (Hard) Python-2023.08.16</title><link>http://www.cppblog.com/Uriel/articles/230014.html</link><dc:creator>Uriel</dc:creator><author>Uriel</author><pubDate>Wed, 16 Aug 2023 08:53:00 GMT</pubDate><guid>http://www.cppblog.com/Uriel/articles/230014.html</guid><wfw:comment>http://www.cppblog.com/Uriel/comments/230014.html</wfw:comment><comments>http://www.cppblog.com/Uriel/articles/230014.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Uriel/comments/commentRss/230014.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Uriel/services/trackbacks/230014.html</trackback:ping><description><![CDATA[给出一列数nums，求这列数从左到右长度k的滑动窗口内的最大值依次是多少，维护一个优先队列，当计算到第i个数时，优先队列里面保存所有长度k以内值大于nums[i]的数的下标（因此可以保证nums[0]是窗口长度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: #008080; ">&nbsp;1</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">239</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;1773&nbsp;ms&nbsp;(Beats&nbsp;16%)</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;30.5&nbsp;MB&nbsp;(Beats&nbsp;48.38%)</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;maxSlidingWindow(self,&nbsp;nums,&nbsp;k):<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[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;k:&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[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;wd_max&nbsp;=&nbsp;[]<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;<span style="color: #0000FF; ">for</span>&nbsp;i&nbsp;<span style="color: #0000FF; ">in</span>&nbsp;range(len(nums)):<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;wd_max&nbsp;<span style="color: #0000FF; ">and</span>&nbsp;wd_max[0]&nbsp;==&nbsp;i&nbsp;-&nbsp;k:<br /><span style="color: #008080; ">16</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wd_max.pop(0)<br /><span style="color: #008080; ">17</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">while</span>&nbsp;wd_max&nbsp;<span style="color: #0000FF; ">and</span>&nbsp;nums[wd_max[-1]]&nbsp;&lt;&nbsp;nums[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;wd_max.pop()<br /><span style="color: #008080; ">19</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wd_max.append(i)<br /><span style="color: #008080; ">20</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;i&nbsp;&gt;=&nbsp;k&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;ans.append(nums[wd_max[0]])<br /><span style="color: #008080; ">22</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/230014.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-16 16:53 <a href="http://www.cppblog.com/Uriel/articles/230014.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[LeetCode]215. Kth Largest Element in an Array (Medium) Python-2023.08.14</title><link>http://www.cppblog.com/Uriel/articles/230013.html</link><dc:creator>Uriel</dc:creator><author>Uriel</author><pubDate>Mon, 14 Aug 2023 09:02:00 GMT</pubDate><guid>http://www.cppblog.com/Uriel/articles/230013.html</guid><wfw:comment>http://www.cppblog.com/Uriel/comments/230013.html</wfw:comment><comments>http://www.cppblog.com/Uriel/articles/230013.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Uriel/comments/commentRss/230013.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Uriel/services/trackbacks/230013.html</trackback:ping><description><![CDATA[求一列数第k大的数，heap应用<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; ">215</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;822&nbsp;ms&nbsp;(Beats&nbsp;46.88%)</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;23.3&nbsp;MB&nbsp;(Beats&nbsp;81.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;findKthLargest(self,&nbsp;nums,&nbsp;k):<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[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;k:&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;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;hp&nbsp;=&nbsp;[]<br /><span style="color: #008080; ">13</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>&nbsp;n&nbsp;<span style="color: #0000FF; ">in</span>&nbsp;nums:<br /><span style="color: #008080; ">14</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;heapq.heappush(hp,&nbsp;n)<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;len(hp)&nbsp;&gt;&nbsp;k:<br /><span style="color: #008080; ">16</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;heapq.heappop(hp)<br /><span style="color: #008080; ">17</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;hp[0]</div><img src ="http://www.cppblog.com/Uriel/aggbug/230013.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-14 17:02 <a href="http://www.cppblog.com/Uriel/articles/230013.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[LeetCode]95. Unique Binary Search Trees II (Medium) C++/Python-2014.01.11/2023.08.05</title><link>http://www.cppblog.com/Uriel/articles/230004.html</link><dc:creator>Uriel</dc:creator><author>Uriel</author><pubDate>Sat, 05 Aug 2023 16:44:00 GMT</pubDate><guid>http://www.cppblog.com/Uriel/articles/230004.html</guid><wfw:comment>http://www.cppblog.com/Uriel/comments/230004.html</wfw:comment><comments>http://www.cppblog.com/Uriel/articles/230004.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Uriel/comments/commentRss/230004.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Uriel/services/trackbacks/230004.html</trackback:ping><description><![CDATA[输出1-n数字组成的所有二叉搜索树，递归+dp，用python3的话还可以加lru_cache<br /><br />C++<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; ">//95</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;2</span>&nbsp;<span style="color: #008000; "></span><span style="color: #008000; ">//</span><span style="color: #008000; ">Runtime:&nbsp;128&nbsp;ms&nbsp;(Beats&nbsp;7.1%)</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;3</span>&nbsp;<span style="color: #008000; "></span><br /><span style="color: #008080; ">&nbsp;4</span>&nbsp;<span style="color: #008000; ">/*</span><span style="color: #008000; ">*<br /></span><span style="color: #008080; ">&nbsp;5</span>&nbsp;<span style="color: #008000; ">&nbsp;*&nbsp;Definition&nbsp;for&nbsp;binary&nbsp;tree<br /></span><span style="color: #008080; ">&nbsp;6</span>&nbsp;<span style="color: #008000; ">&nbsp;*&nbsp;struct&nbsp;TreeNode&nbsp;{<br /></span><span style="color: #008080; ">&nbsp;7</span>&nbsp;<span style="color: #008000; ">&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;val;<br /></span><span style="color: #008080; ">&nbsp;8</span>&nbsp;<span style="color: #008000; ">&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TreeNode&nbsp;*left;<br /></span><span style="color: #008080; ">&nbsp;9</span>&nbsp;<span style="color: #008000; ">&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TreeNode&nbsp;*right;<br /></span><span style="color: #008080; ">10</span>&nbsp;<span style="color: #008000; ">&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TreeNode(int&nbsp;x)&nbsp;:&nbsp;val(x),&nbsp;left(NULL),&nbsp;right(NULL)&nbsp;{}<br /></span><span style="color: #008080; ">11</span>&nbsp;<span style="color: #008000; ">&nbsp;*&nbsp;};<br /></span><span style="color: #008080; ">12</span>&nbsp;<span style="color: #008000; ">&nbsp;</span><span style="color: #008000; ">*/</span><br /><span style="color: #008080; ">13</span>&nbsp;<span style="color: #0000FF; ">class</span>&nbsp;Solution&nbsp;{<br /><span style="color: #008080; ">14</span>&nbsp;<span style="color: #0000FF; ">public</span>:<br /><span style="color: #008080; ">15</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;vector&lt;TreeNode&nbsp;*&gt;&nbsp;sov(<span style="color: #0000FF; ">int</span>&nbsp;l,&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;r)&nbsp;{<br /><span style="color: #008080; ">16</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;vector&lt;TreeNode&nbsp;*&gt;&nbsp;ans;<br /><span style="color: #008080; ">17</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(l&nbsp;&gt;&nbsp;r)&nbsp;ans.push_back(NULL);<br /><span style="color: #008080; ">18</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">else</span>&nbsp;{<br /><span style="color: #008080; ">19</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>(<span style="color: #0000FF; ">int</span>&nbsp;i&nbsp;=&nbsp;l;&nbsp;i&nbsp;&lt;=&nbsp;r;&nbsp;++i)&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;vector&lt;TreeNode&nbsp;*&gt;&nbsp;left&nbsp;=&nbsp;sov(l,&nbsp;i&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;vector&lt;TreeNode&nbsp;*&gt;&nbsp;right&nbsp;=&nbsp;sov(i&nbsp;+&nbsp;1,&nbsp;r);<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; ">for</span>(<span style="color: #0000FF; ">int</span>&nbsp;ll&nbsp;=&nbsp;0;&nbsp;ll&nbsp;&lt;&nbsp;left.size();&nbsp;++ll)&nbsp;{<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;<span style="color: #0000FF; ">for</span>(<span style="color: #0000FF; ">int</span>&nbsp;rr&nbsp;=&nbsp;0;&nbsp;rr&nbsp;&lt;&nbsp;right.size();&nbsp;++rr)&nbsp;{<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;TreeNode&nbsp;*root&nbsp;=&nbsp;<span style="color: #0000FF; ">new</span>&nbsp;TreeNode(i);<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;&nbsp;&nbsp;&nbsp;&nbsp;root-&gt;left&nbsp;=&nbsp;left[ll];<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;root-&gt;right&nbsp;=&nbsp;right[rr];<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;ans.push_back(root);<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;}<br /><span style="color: #008080; ">29</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&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;&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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;ans;<br /><span style="color: #008080; ">33</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><span style="color: #008080; ">34</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><span style="color: #008080; ">35</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;vector&lt;TreeNode&nbsp;*&gt;&nbsp;generateTrees(<span style="color: #0000FF; ">int</span>&nbsp;n)&nbsp;{<br /><span style="color: #008080; ">36</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;sov(1,&nbsp;n);<br /><span style="color: #008080; ">37</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><span style="color: #008080; ">38</span>&nbsp;};</div><br />Python<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; ">95</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;38&nbsp;ms&nbsp;(Beats&nbsp;79.12%)</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;63.19%)</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: #008000; ">#</span><span style="color: #008000; ">&nbsp;Definition&nbsp;for&nbsp;a&nbsp;binary&nbsp;tree&nbsp;node.</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;6</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;class&nbsp;TreeNode(object):</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;7</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;__init__(self,&nbsp;val=0,&nbsp;left=None,&nbsp;right=None):</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;8</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.val&nbsp;=&nbsp;val</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;9</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.left&nbsp;=&nbsp;left</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">10</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.right&nbsp;=&nbsp;right</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">11</span>&nbsp;<span style="color: #008000; "></span><span style="color: #0000FF; ">class</span>&nbsp;Solution(object):<br /><span style="color: #008080; ">12</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">def</span>&nbsp;generateTrees(self,&nbsp;n):<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;n:&nbsp;int<br /></span><span style="color: #008080; ">15</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:rtype:&nbsp;List[TreeNode]<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;<br /><span style="color: #008080; ">18</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">def</span>&nbsp;dp(l,&nbsp;r):<br /><span style="color: #008080; ">19</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;l&nbsp;&gt;&nbsp;r:<br /><span style="color: #008080; ">20</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;[None]<br /><span style="color: #008080; ">21</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ans&nbsp;=&nbsp;[]<br /><span style="color: #008080; ">22</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(l,&nbsp;r&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;l_tree&nbsp;=&nbsp;dp(l,&nbsp;i&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;r_tree&nbsp;=&nbsp;dp(i&nbsp;+&nbsp;1,&nbsp;r)<br /><span style="color: #008080; ">25</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;ll&nbsp;<span style="color: #0000FF; ">in</span>&nbsp;l_tree:<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;<span style="color: #0000FF; ">for</span>&nbsp;rr&nbsp;<span style="color: #0000FF; ">in</span>&nbsp;r_tree:<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;root&nbsp;=&nbsp;TreeNode(i)<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;root.left&nbsp;=&nbsp;ll<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;root.right&nbsp;=&nbsp;rr<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;ans.append(root)<br /><span style="color: #008080; ">31</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;ans<br /><span style="color: #008080; ">32</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;dp(1,&nbsp;n)</div><img src ="http://www.cppblog.com/Uriel/aggbug/230004.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-06 00:44 <a href="http://www.cppblog.com/Uriel/articles/230004.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]445. Add Two Numbers II (Medium) Python-2023.07.17</title><link>http://www.cppblog.com/Uriel/articles/229978.html</link><dc:creator>Uriel</dc:creator><author>Uriel</author><pubDate>Mon, 17 Jul 2023 07:55:00 GMT</pubDate><guid>http://www.cppblog.com/Uriel/articles/229978.html</guid><wfw:comment>http://www.cppblog.com/Uriel/comments/229978.html</wfw:comment><comments>http://www.cppblog.com/Uriel/articles/229978.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Uriel/comments/commentRss/229978.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Uriel/services/trackbacks/229978.html</trackback:ping><description><![CDATA[链表形式存储的大数加法，参考了Discussion的简洁写法<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; ">445</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;56&nbsp;ms&nbsp;(Beats&nbsp;64.47%)</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;13.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: #008000; ">#</span><span style="color: #008000; ">&nbsp;Definition&nbsp;for&nbsp;singly-linked&nbsp;list.</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;6</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;class&nbsp;ListNode(object):</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;7</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;__init__(self,&nbsp;val=0,&nbsp;next=None):</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;8</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.val&nbsp;=&nbsp;val</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;9</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.next&nbsp;=&nbsp;next</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">10</span>&nbsp;<span style="color: #008000; "></span><span style="color: #0000FF; ">class</span>&nbsp;Solution(object):<br /><span style="color: #008080; ">11</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">def</span>&nbsp;addTwoNumbers(self,&nbsp;l1,&nbsp;l2):<br /><span style="color: #008080; ">12</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; ">13</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:type&nbsp;l1:&nbsp;ListNode<br /></span><span style="color: #008080; ">14</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:type&nbsp;l2:&nbsp;ListNode<br /></span><span style="color: #008080; ">15</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:rtype:&nbsp;ListNode<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;n1,&nbsp;n2&nbsp;=&nbsp;[],&nbsp;[]<br /><span style="color: #008080; ">18</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">while</span>&nbsp;l1:<br /><span style="color: #008080; ">19</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;n1.append(l1.val)<br /><span style="color: #008080; ">20</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;l1&nbsp;=&nbsp;l1.next<br /><span style="color: #008080; ">21</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">while</span>&nbsp;l2:<br /><span style="color: #008080; ">22</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;n2.append(l2.val)<br /><span style="color: #008080; ">23</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;l2&nbsp;=&nbsp;l2.next<br /><span style="color: #008080; ">24</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t&nbsp;=&nbsp;0<br /><span style="color: #008080; ">25</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ans&nbsp;=&nbsp;None<br /><span style="color: #008080; ">26</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">while</span>&nbsp;n1&nbsp;<span style="color: #0000FF; ">or</span>&nbsp;n2&nbsp;<span style="color: #0000FF; ">or</span>&nbsp;t:<br /><span style="color: #008080; ">27</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;v1&nbsp;=&nbsp;n1.pop()&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;n1&nbsp;<span style="color: #0000FF; ">else</span>&nbsp;0<br /><span style="color: #008080; ">28</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;v2&nbsp;=&nbsp;n2.pop()&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;n2&nbsp;<span style="color: #0000FF; ">else</span>&nbsp;0<br /><span style="color: #008080; ">29</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t,&nbsp;v&nbsp;=&nbsp;divmod(v1&nbsp;+&nbsp;v2&nbsp;+&nbsp;t,&nbsp;10)<br /><span style="color: #008080; ">30</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;node&nbsp;=&nbsp;ListNode(v)<br /><span style="color: #008080; ">31</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;node.next&nbsp;=&nbsp;ans<br /><span style="color: #008080; ">32</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ans&nbsp;=&nbsp;node<br /><span style="color: #008080; ">33</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;ans&nbsp;<span style="color: #0000FF; ">or</span>&nbsp;ListNode(0)</div><img src ="http://www.cppblog.com/Uriel/aggbug/229978.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-17 15:55 <a href="http://www.cppblog.com/Uriel/articles/229978.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[LeetCode]863. All Nodes Distance K in Binary Tree (Medium) Python-2023.07.11</title><link>http://www.cppblog.com/Uriel/articles/229971.html</link><dc:creator>Uriel</dc:creator><author>Uriel</author><pubDate>Tue, 11 Jul 2023 09:09:00 GMT</pubDate><guid>http://www.cppblog.com/Uriel/articles/229971.html</guid><wfw:comment>http://www.cppblog.com/Uriel/comments/229971.html</wfw:comment><comments>http://www.cppblog.com/Uriel/articles/229971.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Uriel/comments/commentRss/229971.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Uriel/services/trackbacks/229971.html</trackback:ping><description><![CDATA[求二叉树中和某个target节点距离为k的所有节点值，先BFS建图（python的dict存图），然后在图上BFS求解<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; ">863</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;25&nbsp;ms&nbsp;(Beats&nbsp;49.62%)</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;74.5%)</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: #008000; ">#</span><span style="color: #008000; ">&nbsp;Definition&nbsp;for&nbsp;a&nbsp;binary&nbsp;tree&nbsp;node.</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;6</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;class&nbsp;TreeNode(object):</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;7</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;__init__(self,&nbsp;x):</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;8</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.val&nbsp;=&nbsp;x</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;9</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.left&nbsp;=&nbsp;None</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">10</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.right&nbsp;=&nbsp;None</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">11</span>&nbsp;<span style="color: #008000; "></span><br /><span style="color: #008080; ">12</span>&nbsp;<span style="color: #0000FF; ">class</span>&nbsp;Solution(object):<br /><span style="color: #008080; ">13</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">def</span>&nbsp;distanceK(self,&nbsp;root,&nbsp;target,&nbsp;k):<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;root:&nbsp;TreeNode<br /></span><span style="color: #008080; ">16</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:type&nbsp;target:&nbsp;TreeNode<br /></span><span style="color: #008080; ">17</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:type&nbsp;k:&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;List[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;graph&nbsp;=&nbsp;{}<br /><span style="color: #008080; ">21</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dep_target&nbsp;=&nbsp;0<br /><span style="color: #008080; ">22</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;q&nbsp;=&nbsp;deque([[root,&nbsp;-1]])<br /><span style="color: #008080; ">23</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">while</span>&nbsp;q:<br /><span style="color: #008080; ">24</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;node,&nbsp;f&nbsp;=&nbsp;q.popleft()<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;node.val&nbsp;<span style="color: #0000FF; ">not</span>&nbsp;<span style="color: #0000FF; ">in</span>&nbsp;graph:<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; ">if</span>&nbsp;f&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;graph[node.val]&nbsp;=&nbsp;[f]<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;graph[f].append(node.val)<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; ">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;graph[node.val]&nbsp;=&nbsp;[]<br /><span style="color: #008080; ">31</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; ">32</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;graph[node.val].append(f)<br /><span style="color: #008080; ">33</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;graph[f].append(node.val)<br /><span style="color: #008080; ">34</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;node.left:<br /><span style="color: #008080; ">35</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;q.append([node.left,&nbsp;node.val])<br /><span style="color: #008080; ">36</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;node.right:<br /><span style="color: #008080; ">37</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;q.append([node.right,&nbsp;node.val])<br /><span style="color: #008080; ">38</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;q&nbsp;=&nbsp;deque([target.val])<br /><span style="color: #008080; ">39</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dis&nbsp;=&nbsp;0<br /><span style="color: #008080; ">40</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ans&nbsp;=&nbsp;[]<br /><span style="color: #008080; ">41</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;vis&nbsp;=&nbsp;set([target.val])<br /><span style="color: #008080; ">42</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">while</span>&nbsp;q&nbsp;<span style="color: #0000FF; ">and</span>&nbsp;dis&nbsp;&lt;&nbsp;k:<br /><span style="color: #008080; ">43</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sz&nbsp;=&nbsp;len(q)<br /><span style="color: #008080; ">44</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">while</span>&nbsp;sz:<br /><span style="color: #008080; ">45</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sz&nbsp;-=&nbsp;1<br /><span style="color: #008080; ">46</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;node&nbsp;=&nbsp;q.popleft()<br /><span style="color: #008080; ">47</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;i&nbsp;<span style="color: #0000FF; ">in</span>&nbsp;graph[node]:<br /><span style="color: #008080; ">48</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;<span style="color: #0000FF; ">not</span>&nbsp;<span style="color: #0000FF; ">in</span>&nbsp;vis:<br /><span style="color: #008080; ">49</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;q.append(i)<br /><span style="color: #008080; ">50</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;vis.add(i)<br /><span style="color: #008080; ">51</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dis&nbsp;+=&nbsp;1<br /><span style="color: #008080; ">52</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;dis&nbsp;==&nbsp;k:<br /><span style="color: #008080; ">53</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ans&nbsp;=&nbsp;list(q)<br /><span style="color: #008080; ">54</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/229971.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-11 17:09 <a href="http://www.cppblog.com/Uriel/articles/229971.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[LeetCode]373. Find K Pairs with Smallest Sums (Medium) Python-2023.06.27</title><link>http://www.cppblog.com/Uriel/articles/229948.html</link><dc:creator>Uriel</dc:creator><author>Uriel</author><pubDate>Tue, 27 Jun 2023 14:38:00 GMT</pubDate><guid>http://www.cppblog.com/Uriel/articles/229948.html</guid><wfw:comment>http://www.cppblog.com/Uriel/comments/229948.html</wfw:comment><comments>http://www.cppblog.com/Uriel/articles/229948.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Uriel/comments/commentRss/229948.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Uriel/services/trackbacks/229948.html</trackback:ping><description><![CDATA[从两个升序排列的数组分别抽出一个数组成pair，输出和最小的k个pair，优先队列应用<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; ">373</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;1051&nbsp;ms&nbsp;(Beats&nbsp;45.18%)</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;29.9&nbsp;MB&nbsp;(Beats&nbsp;87.95%)</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;kSmallestPairs(self,&nbsp;nums1,&nbsp;nums2,&nbsp;k):<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;nums1:&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;nums2:&nbsp;List[int]<br /></span><span style="color: #008080; ">10</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:type&nbsp;k:&nbsp;int<br /></span><span style="color: #008080; ">11</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; ">12</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; ">13</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fg&nbsp;=&nbsp;set()<br /><span style="color: #008080; ">14</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ans&nbsp;=&nbsp;[]<br /><span style="color: #008080; ">15</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hp&nbsp;=&nbsp;[]<br /><span style="color: #008080; ">16</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(min(len(nums1),&nbsp;k)):<br /><span style="color: #008080; ">17</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;heapq.heappush(hp,&nbsp;(nums1[i]&nbsp;+&nbsp;nums2[0],&nbsp;nums1[i],&nbsp;nums2[0],&nbsp;0))<br /><span style="color: #008080; ">18</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">while</span>&nbsp;k&nbsp;<span style="color: #0000FF; ">and</span>&nbsp;hp:<br /><span style="color: #008080; ">19</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_,&nbsp;i,&nbsp;j,&nbsp;idx&nbsp;=&nbsp;heapq.heappop(hp)<br /><span style="color: #008080; ">20</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ans.append([i,&nbsp;j])<br /><span style="color: #008080; ">21</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;idx&nbsp;&lt;&nbsp;len(nums2)&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;heapq.heappush(hp,&nbsp;(i&nbsp;+&nbsp;nums2[idx&nbsp;+&nbsp;1],&nbsp;i,&nbsp;nums2[idx&nbsp;+&nbsp;1],&nbsp;idx&nbsp;+&nbsp;1))<br /><span style="color: #008080; ">23</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;k&nbsp;-=&nbsp;1<br /><span style="color: #008080; ">24</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/229948.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-27 22:38 <a href="http://www.cppblog.com/Uriel/articles/229948.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[LeetCode]2462. Total Cost to Hire K Workers (Medium) Python-2023.06.26</title><link>http://www.cppblog.com/Uriel/articles/229945.html</link><dc:creator>Uriel</dc:creator><author>Uriel</author><pubDate>Mon, 26 Jun 2023 16:23:00 GMT</pubDate><guid>http://www.cppblog.com/Uriel/articles/229945.html</guid><wfw:comment>http://www.cppblog.com/Uriel/comments/229945.html</wfw:comment><comments>http://www.cppblog.com/Uriel/articles/229945.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Uriel/comments/commentRss/229945.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Uriel/services/trackbacks/229945.html</trackback:ping><description><![CDATA[给定一个数列costs，一共k次操作，每次从前candidates和后candidates个数里面选较小的一个，问k次取到的k个数只和<br />维护两个优先队列，一个存前candidates，一个存后candidates，注意每次pop之后要push后一个/前一个数<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; ">2462</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;1356&nbsp;ms&nbsp;(Beats&nbsp;44.93%)</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.8&nbsp;MB&nbsp;(Beats&nbsp;68.12%)</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;totalCost(self,&nbsp;costs,&nbsp;k,&nbsp;candidates):<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;costs:&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;k:&nbsp;int<br /></span><span style="color: #008080; ">10</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:type&nbsp;candidates:&nbsp;int<br /></span><span style="color: #008080; ">11</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:rtype:&nbsp;int<br /></span><span style="color: #008080; ">12</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; ">13</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;left&nbsp;=&nbsp;costs[:candidates]<br /><span style="color: #008080; ">14</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;right&nbsp;=&nbsp;costs[max(candidates,&nbsp;len(costs)&nbsp;-&nbsp;candidates):]<br /><span style="color: #008080; ">15</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;heapify(left)<br /><span style="color: #008080; ">16</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;heapify(right)<br /><span style="color: #008080; ">17</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ans&nbsp;=&nbsp;0<br /><span style="color: #008080; ">18</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i&nbsp;=&nbsp;candidates<br /><span style="color: #008080; ">19</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;j&nbsp;=&nbsp;len(costs)&nbsp;-&nbsp;candidates&nbsp;-&nbsp;1<br /><span style="color: #008080; ">20</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(k):<br /><span style="color: #008080; ">21</span>&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;right)&nbsp;<span style="color: #0000FF; ">or</span>&nbsp;(left&nbsp;<span style="color: #0000FF; ">and</span>&nbsp;left[0]&nbsp;&lt;=&nbsp;right[0]):<br /><span style="color: #008080; ">22</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ans&nbsp;+=&nbsp;heappop(left)<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; ">if</span>&nbsp;i&nbsp;&lt;=&nbsp;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;heappush(left,&nbsp;costs[i])<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;i&nbsp;+=&nbsp;1<br /><span style="color: #008080; ">26</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; ">27</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ans&nbsp;+=&nbsp;heappop(right)<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;i&nbsp;&lt;=&nbsp;j:<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;heappush(right,&nbsp;costs[j])<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;<span style="color: #0000FF; ">return</span>&nbsp;ans</div><img src ="http://www.cppblog.com/Uriel/aggbug/229945.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-27 00:23 <a href="http://www.cppblog.com/Uriel/articles/229945.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[LeetCode]1569. Number of Ways to Reorder Array to Get Same BST (Hard) Python3-2023.06.16</title><link>http://www.cppblog.com/Uriel/articles/229931.html</link><dc:creator>Uriel</dc:creator><author>Uriel</author><pubDate>Fri, 16 Jun 2023 09:23:00 GMT</pubDate><guid>http://www.cppblog.com/Uriel/articles/229931.html</guid><wfw:comment>http://www.cppblog.com/Uriel/comments/229931.html</wfw:comment><comments>http://www.cppblog.com/Uriel/articles/229931.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Uriel/comments/commentRss/229931.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Uriel/services/trackbacks/229931.html</trackback:ping><description><![CDATA[给定一列不重复的数，依次插入一棵空树构成二叉搜索树，问若打乱这一列数的顺序，一共有多少种不同的打乱方式，可以得到一样的BST，递归分治思想<br />假设当前数列长l，那么第一个数字决定了root的位置，无法移动，之后的数字比root大的数和比root小的数的数量是一定的，假设有m个数比root大，n个数比root小（m+n+1=l）。那么打乱顺序还可以构成一样的BST的数量就是组合数C(m, m+n)。而左子树和右子树又将进行同样的计算。注意最终结果要-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: #008080; ">&nbsp;1</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">1569</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;173&nbsp;ms&nbsp;(Beats&nbsp;71.74%)</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.8&nbsp;MB&nbsp;(Beats&nbsp;51.9%)</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;numOfWays(self,&nbsp;nums:&nbsp;List[int])&nbsp;-&gt;&nbsp;int:<br /><span style="color: #008080; ">&nbsp;7</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOD&nbsp;=&nbsp;10&nbsp;**&nbsp;9&nbsp;+&nbsp;7<br /><span style="color: #008080; ">&nbsp;8</span>&nbsp;<br /><span style="color: #008080; ">&nbsp;9</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">def</span>&nbsp;cal(seq):<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;<span style="color: #0000FF; ">not</span>&nbsp;seq:<br /><span style="color: #008080; ">11</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;1<br /><span style="color: #008080; ">12</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;root&nbsp;=&nbsp;seq[0]<br /><span style="color: #008080; ">13</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;l_tree&nbsp;=&nbsp;[num&nbsp;<span style="color: #0000FF; ">for</span>&nbsp;num&nbsp;<span style="color: #0000FF; ">in</span>&nbsp;seq&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;num&nbsp;&lt;&nbsp;root]<br /><span style="color: #008080; ">14</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;r_tree&nbsp;=&nbsp;[num&nbsp;<span style="color: #0000FF; ">for</span>&nbsp;num&nbsp;<span style="color: #0000FF; ">in</span>&nbsp;seq&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;num&nbsp;&gt;&nbsp;root]<br /><span style="color: #008080; ">15</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;math.comb(len(l_tree)&nbsp;+&nbsp;len(r_tree),&nbsp;len(l_tree))&nbsp;*&nbsp;cal(l_tree)&nbsp;*&nbsp;cal(r_tree)&nbsp;%&nbsp;MOD<br /><span style="color: #008080; ">16</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;(cal(nums)&nbsp;-&nbsp;1)&nbsp;%&nbsp;MOD</div><img src ="http://www.cppblog.com/Uriel/aggbug/229931.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-16 17:23 <a href="http://www.cppblog.com/Uriel/articles/229931.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[LeetCode]530. Minimum Absolute Difference in BST (Easy) Python-2023.06.14</title><link>http://www.cppblog.com/Uriel/articles/229928.html</link><dc:creator>Uriel</dc:creator><author>Uriel</author><pubDate>Wed, 14 Jun 2023 06:57:00 GMT</pubDate><guid>http://www.cppblog.com/Uriel/articles/229928.html</guid><wfw:comment>http://www.cppblog.com/Uriel/comments/229928.html</wfw:comment><comments>http://www.cppblog.com/Uriel/articles/229928.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Uriel/comments/commentRss/229928.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Uriel/services/trackbacks/229928.html</trackback:ping><description><![CDATA[求二叉搜索树中元素值之差最小是多少，DFS中序遍历的同时记录当前节点和上一次访问的节点值之差即可<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; ">530</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;44&nbsp;ms&nbsp;(Beats&nbsp;43.16%)</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;17.3&nbsp;MB&nbsp;(Beats&nbsp;71.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: #008000; ">#</span><span style="color: #008000; ">&nbsp;Definition&nbsp;for&nbsp;a&nbsp;binary&nbsp;tree&nbsp;node.</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;6</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;class&nbsp;TreeNode(object):</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;7</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;__init__(self,&nbsp;val=0,&nbsp;left=None,&nbsp;right=None):</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;8</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.val&nbsp;=&nbsp;val</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;9</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.left&nbsp;=&nbsp;left</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">10</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.right&nbsp;=&nbsp;right</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">11</span>&nbsp;<span style="color: #008000; "></span><span style="color: #0000FF; ">class</span>&nbsp;Solution(object):<br /><span style="color: #008080; ">12</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">def</span>&nbsp;getMinimumDifference(self,&nbsp;root):<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;root:&nbsp;TreeNode<br /></span><span style="color: #008080; ">15</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:rtype:&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.ans&nbsp;=&nbsp;100000<br /><span style="color: #008080; ">18</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.pre_val&nbsp;=&nbsp;None<br /><span style="color: #008080; ">19</span>&nbsp;<br /><span style="color: #008080; ">20</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">def</span>&nbsp;DFS(node):<br /><span style="color: #008080; ">21</span>&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;node:<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;&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;DFS(node.left)<br /><span style="color: #008080; ">24</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;self.pre_val&nbsp;<span style="color: #0000FF; ">is</span>&nbsp;<span style="color: #0000FF; ">not</span>&nbsp;None:<br /><span style="color: #008080; ">25</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.ans&nbsp;=&nbsp;min(self.ans,&nbsp;node.val&nbsp;-&nbsp;self.pre_val)<br /><span style="color: #008080; ">26</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.pre_val&nbsp;=&nbsp;node.val<br /><span style="color: #008080; ">27</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DFS(node.right)<br /><span style="color: #008080; ">28</span>&nbsp;<br /><span style="color: #008080; ">29</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DFS(root)<br /><span style="color: #008080; ">30</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;self.ans</div><img src ="http://www.cppblog.com/Uriel/aggbug/229928.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-14 14:57 <a href="http://www.cppblog.com/Uriel/articles/229928.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[LeetCode]2542. Maximum Subsequence Score (Medium) Python-2023.05.24</title><link>http://www.cppblog.com/Uriel/articles/229906.html</link><dc:creator>Uriel</dc:creator><author>Uriel</author><pubDate>Wed, 24 May 2023 13:32:00 GMT</pubDate><guid>http://www.cppblog.com/Uriel/articles/229906.html</guid><wfw:comment>http://www.cppblog.com/Uriel/comments/229906.html</wfw:comment><comments>http://www.cppblog.com/Uriel/articles/229906.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Uriel/comments/commentRss/229906.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Uriel/services/trackbacks/229906.html</trackback:ping><description><![CDATA[给出同样长度的两列数nums1，num2，求其中长度为k的子串，使得max(sum(a_i)*min(b_i))，a_i, b_i&#8712;长度k的子串，输出max结果，优先队列基本应用<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; ">2542</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;1378&nbsp;ms&nbsp;(Beats&nbsp;42.86%)</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;42.3&nbsp;MB&nbsp;(Beats&nbsp;33.33%)</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;maxScore(self,&nbsp;nums1,&nbsp;nums2,&nbsp;k):<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;nums1:&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;nums2:&nbsp;List[int]<br /></span><span style="color: #008080; ">10</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:type&nbsp;k:&nbsp;int<br /></span><span style="color: #008080; ">11</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:rtype:&nbsp;int<br /></span><span style="color: #008080; ">12</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; ">13</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hp&nbsp;=&nbsp;[]<br /><span style="color: #008080; ">14</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ans,&nbsp;t_sum&nbsp;=&nbsp;0,&nbsp;0<br /><span style="color: #008080; ">15</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>&nbsp;a,&nbsp;b&nbsp;<span style="color: #0000FF; ">in</span>&nbsp;sorted(list(zip(nums1,&nbsp;nums2)),&nbsp;key=itemgetter(1),&nbsp;reverse=True):<br /><span style="color: #008080; ">16</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t_sum&nbsp;+=&nbsp;a<br /><span style="color: #008080; ">17</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;heappush(hp,&nbsp;a)<br /><span style="color: #008080; ">18</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;len(hp)&nbsp;==&nbsp;k:<br /><span style="color: #008080; ">19</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ans&nbsp;=&nbsp;max(ans,&nbsp;t_sum&nbsp;*&nbsp;b)<br /><span style="color: #008080; ">20</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t_sum&nbsp;-=&nbsp;heappop(hp)<br /><span style="color: #008080; ">21</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/229906.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-24 21:32 <a href="http://www.cppblog.com/Uriel/articles/229906.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[LeetCode]703. Kth Largest Element in a Stream (Easy) Python-2023.05.23</title><link>http://www.cppblog.com/Uriel/articles/229903.html</link><dc:creator>Uriel</dc:creator><author>Uriel</author><pubDate>Tue, 23 May 2023 11:37:00 GMT</pubDate><guid>http://www.cppblog.com/Uriel/articles/229903.html</guid><wfw:comment>http://www.cppblog.com/Uriel/comments/229903.html</wfw:comment><comments>http://www.cppblog.com/Uriel/articles/229903.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Uriel/comments/commentRss/229903.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Uriel/services/trackbacks/229903.html</trackback:ping><description><![CDATA[求一列数的第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: #008080; ">&nbsp;1</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">703</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;95&nbsp;ms&nbsp;(Beats&nbsp;80.5%)</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;17.9&nbsp;MB&nbsp;(Beats&nbsp;17.87%)</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;KthLargest(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;k,&nbsp;nums):<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;k:&nbsp;int<br /></span><span style="color: #008080; ">10</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:type&nbsp;nums:&nbsp;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;self.nums&nbsp;=&nbsp;nums<br /><span style="color: #008080; ">13</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.K&nbsp;=&nbsp;k<br /><span style="color: #008080; ">14</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;heapify(self.nums)<br /><span style="color: #008080; ">15</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">while</span>&nbsp;len(self.nums)&nbsp;&gt;&nbsp;self.K:<br /><span style="color: #008080; ">16</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;heappop(self.nums)<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;add(self,&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;val:&nbsp;int<br /></span><span style="color: #008080; ">21</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:rtype:&nbsp;int<br /></span><span style="color: #008080; ">22</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; ">23</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;len(self.nums)&nbsp;&lt;&nbsp;self.K:<br /><span style="color: #008080; ">24</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;heappush(self.nums,&nbsp;val)<br /><span style="color: #008080; ">25</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">elif</span>&nbsp;val&nbsp;&gt;&nbsp;self.nums[0]:<br /><span style="color: #008080; ">26</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;heapreplace(self.nums,&nbsp;val)<br /><span style="color: #008080; ">27</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;self.nums[0]<br /><span style="color: #008080; ">28</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><span style="color: #008080; ">29</span>&nbsp;<br /><span style="color: #008080; ">30</span>&nbsp;<br /><span style="color: #008080; ">31</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;Your&nbsp;KthLargest&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; ">32</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;obj&nbsp;=&nbsp;KthLargest(k,&nbsp;nums)</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">33</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;param_1&nbsp;=&nbsp;obj.add(val)</span></div><img src ="http://www.cppblog.com/Uriel/aggbug/229903.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-23 19:37 <a href="http://www.cppblog.com/Uriel/articles/229903.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[LeetCode]2130. Maximum Twin Sum of a Linked List (Medium) Python-2023.05.17</title><link>http://www.cppblog.com/Uriel/articles/229892.html</link><dc:creator>Uriel</dc:creator><author>Uriel</author><pubDate>Wed, 17 May 2023 10:56:00 GMT</pubDate><guid>http://www.cppblog.com/Uriel/articles/229892.html</guid><wfw:comment>http://www.cppblog.com/Uriel/comments/229892.html</wfw:comment><comments>http://www.cppblog.com/Uriel/articles/229892.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Uriel/comments/commentRss/229892.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Uriel/services/trackbacks/229892.html</trackback:ping><description><![CDATA[统计单链表前后对应位置的和，输出最大的和<br />先用快慢两个指针，快指针每次前进两个node，这样定位到单链表中心位置，然后翻转后一半链表的指针（很巧妙，思路参考Discussion）<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; ">2130</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;1108&nbsp;ms&nbsp;(Beats&nbsp;78.1%)</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;72.2&nbsp;MB&nbsp;(Beats&nbsp;80.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: #008000; ">#</span><span style="color: #008000; ">&nbsp;Definition&nbsp;for&nbsp;singly-linked&nbsp;list.</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;6</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;class&nbsp;ListNode(object):</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;7</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;__init__(self,&nbsp;val=0,&nbsp;next=None):</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;8</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.val&nbsp;=&nbsp;val</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;9</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.next&nbsp;=&nbsp;next</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">10</span>&nbsp;<span style="color: #008000; "></span><span style="color: #0000FF; ">class</span>&nbsp;Solution(object):<br /><span style="color: #008080; ">11</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">def</span>&nbsp;pairSum(self,&nbsp;head):<br /><span style="color: #008080; ">12</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; ">13</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:type&nbsp;head:&nbsp;Optional[ListNode]<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;node_slow,&nbsp;node_fast&nbsp;=&nbsp;head,&nbsp;head<br /><span style="color: #008080; ">17</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ans&nbsp;=&nbsp;0<br /><span style="color: #008080; ">18</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">while</span>&nbsp;node_fast&nbsp;<span style="color: #0000FF; ">and</span>&nbsp;node_fast.next:<br /><span style="color: #008080; ">19</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;node_fast&nbsp;=&nbsp;node_fast.next.next<br /><span style="color: #008080; ">20</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;node_slow&nbsp;=&nbsp;node_slow.next<br /><span style="color: #008080; ">21</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;node_cur,&nbsp;node_pre&nbsp;=&nbsp;node_slow,&nbsp;None<br /><span style="color: #008080; ">22</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">while</span>&nbsp;node_cur:<br /><span style="color: #008080; ">23</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;node_cur.next,&nbsp;node_pre,&nbsp;node_cur&nbsp;=&nbsp;node_pre,&nbsp;node_cur,&nbsp;node_cur.next<br /><span style="color: #008080; ">24</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">while</span>&nbsp;node_pre:<br /><span style="color: #008080; ">25</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ans&nbsp;=&nbsp;max(ans,&nbsp;head.val&nbsp;+&nbsp;node_pre.val)<br /><span style="color: #008080; ">26</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;node_pre&nbsp;=&nbsp;node_pre.next<br /><span style="color: #008080; ">27</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;head&nbsp;=&nbsp;head.next<br /><span style="color: #008080; ">28</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/229892.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-17 18:56 <a href="http://www.cppblog.com/Uriel/articles/229892.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[LeetCode]24. Swap Nodes in Pairs (Medium) Python-2023.05.16</title><link>http://www.cppblog.com/Uriel/articles/229889.html</link><dc:creator>Uriel</dc:creator><author>Uriel</author><pubDate>Tue, 16 May 2023 12:12:00 GMT</pubDate><guid>http://www.cppblog.com/Uriel/articles/229889.html</guid><wfw:comment>http://www.cppblog.com/Uriel/comments/229889.html</wfw:comment><comments>http://www.cppblog.com/Uriel/articles/229889.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Uriel/comments/commentRss/229889.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Uriel/services/trackbacks/229889.html</trackback:ping><description><![CDATA[成对交换单链表的元素，必须通过修改指针实现，参考了Discussion关于self的使用<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; ">24</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;23&nbsp;ms&nbsp;(Beats&nbsp;24.1%)</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.4&nbsp;MB&nbsp;(Beats&nbsp;79.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: #008000; ">#</span><span style="color: #008000; ">&nbsp;Definition&nbsp;for&nbsp;singly-linked&nbsp;list.</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;6</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;class&nbsp;ListNode(object):</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;7</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;__init__(self,&nbsp;val=0,&nbsp;next=None):</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;8</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.val&nbsp;=&nbsp;val</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;9</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.next&nbsp;=&nbsp;next</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">10</span>&nbsp;<span style="color: #008000; "></span><span style="color: #0000FF; ">class</span>&nbsp;Solution(object):<br /><span style="color: #008080; ">11</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">def</span>&nbsp;swapPairs(self,&nbsp;head):<br /><span style="color: #008080; ">12</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; ">13</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:type&nbsp;head:&nbsp;ListNode<br /></span><span style="color: #008080; ">14</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:rtype:&nbsp;ListNode<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;pre&nbsp;=&nbsp;self<br /><span style="color: #008080; ">17</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pre.next&nbsp;=&nbsp;head<br /><span style="color: #008080; ">18</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">while</span>&nbsp;pre.next&nbsp;<span style="color: #0000FF; ">and</span>&nbsp;pre.next.next:<br /><span style="color: #008080; ">19</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t&nbsp;=&nbsp;pre.next<br /><span style="color: #008080; ">20</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t_next&nbsp;=&nbsp;t.next<br /><span style="color: #008080; ">21</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pre.next,&nbsp;t_next.next,&nbsp;t.next&nbsp;=&nbsp;t_next,&nbsp;t,&nbsp;t_next.next<br /><span style="color: #008080; ">22</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pre&nbsp;=&nbsp;t<br /><span style="color: #008080; ">23</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;self.next</div><img src ="http://www.cppblog.com/Uriel/aggbug/229889.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-16 20:12 <a href="http://www.cppblog.com/Uriel/articles/229889.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[LeetCode]1721. Swapping Nodes in a Linked List (Medium) Python-2023.05.15</title><link>http://www.cppblog.com/Uriel/articles/229886.html</link><dc:creator>Uriel</dc:creator><author>Uriel</author><pubDate>Mon, 15 May 2023 10:03:00 GMT</pubDate><guid>http://www.cppblog.com/Uriel/articles/229886.html</guid><wfw:comment>http://www.cppblog.com/Uriel/comments/229886.html</wfw:comment><comments>http://www.cppblog.com/Uriel/articles/229886.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Uriel/comments/commentRss/229886.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Uriel/services/trackbacks/229886.html</trackback:ping><description><![CDATA[交换单链表位置k和n-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: #008080; ">&nbsp;1</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">1721</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;1265&nbsp;ms&nbsp;(Beats&nbsp;56.45%)</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;91.1&nbsp;MB&nbsp;(Beats&nbsp;69.35%)</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;swapNodes(self,&nbsp;head,&nbsp;k):<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;head:&nbsp;ListNode<br /></span><span style="color: #008080; ">&nbsp;9</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:type&nbsp;k:&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;ListNode<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;t&nbsp;=&nbsp;1<br /><span style="color: #008080; ">13</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;head2,&nbsp;head3&nbsp;=&nbsp;head,&nbsp;head<br /><span style="color: #008080; ">14</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">while</span>&nbsp;t&nbsp;&lt;&nbsp;k:<br /><span style="color: #008080; ">15</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;head2&nbsp;=&nbsp;head2.next<br /><span style="color: #008080; ">16</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;head3&nbsp;=&nbsp;head3.next<br /><span style="color: #008080; ">17</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t&nbsp;+=&nbsp;1<br /><span style="color: #008080; ">18</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;n&nbsp;=&nbsp;t<br /><span style="color: #008080; ">19</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">while</span>&nbsp;head3:<br /><span style="color: #008080; ">20</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;head3&nbsp;=&nbsp;head3.next<br /><span style="color: #008080; ">21</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;n&nbsp;+=&nbsp;1<br /><span style="color: #008080; ">22</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t&nbsp;=&nbsp;0<br /><span style="color: #008080; ">23</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;head3&nbsp;=&nbsp;head<br /><span style="color: #008080; ">24</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">while</span>&nbsp;t&nbsp;&lt;&nbsp;n&nbsp;-&nbsp;k&nbsp;-&nbsp;1:<br /><span style="color: #008080; ">25</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;head3&nbsp;=&nbsp;head3.next<br /><span style="color: #008080; ">26</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t&nbsp;+=&nbsp;1<br /><span style="color: #008080; ">27</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;head2.val,&nbsp;head3.val&nbsp;=&nbsp;head3.val,&nbsp;head2.val<br /><span style="color: #008080; ">28</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;head</div><img src ="http://www.cppblog.com/Uriel/aggbug/229886.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-15 18:03 <a href="http://www.cppblog.com/Uriel/articles/229886.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]662. Maximum Width of Binary Tree (Medium) Python-2023.04.20</title><link>http://www.cppblog.com/Uriel/articles/229832.html</link><dc:creator>Uriel</dc:creator><author>Uriel</author><pubDate>Thu, 20 Apr 2023 10:45:00 GMT</pubDate><guid>http://www.cppblog.com/Uriel/articles/229832.html</guid><wfw:comment>http://www.cppblog.com/Uriel/comments/229832.html</wfw:comment><comments>http://www.cppblog.com/Uriel/articles/229832.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Uriel/comments/commentRss/229832.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Uriel/services/trackbacks/229832.html</trackback:ping><description><![CDATA[判断二叉树所有层中同一层左右节点宽度最大是多少，BFS，每次处理一层并且求宽度，多开了一个deque来存每个进队的节点的编号，可以把编号和node节点信息合并，用一个新的node class保存，但似乎用两个deque更省内存<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; ">662</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;28&nbsp;ms&nbsp;(Beats&nbsp;72.48%)</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.9&nbsp;MB&nbsp;(Beats&nbsp;82.57%)</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: #008000; ">#</span><span style="color: #008000; ">&nbsp;Definition&nbsp;for&nbsp;a&nbsp;binary&nbsp;tree&nbsp;node.</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;6</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;class&nbsp;TreeNode(object):</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;7</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;__init__(self,&nbsp;val=0,&nbsp;left=None,&nbsp;right=None):</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;8</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.val&nbsp;=&nbsp;val</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;9</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.left&nbsp;=&nbsp;left</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">10</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.right&nbsp;=&nbsp;right</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">11</span>&nbsp;<span style="color: #008000; "></span><span style="color: #0000FF; ">class</span>&nbsp;Solution(object):<br /><span style="color: #008080; ">12</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">def</span>&nbsp;widthOfBinaryTree(self,&nbsp;root):<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;root:&nbsp;TreeNode<br /></span><span style="color: #008080; ">15</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:rtype:&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;q&nbsp;=&nbsp;deque([root])<br /><span style="color: #008080; ">18</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;q_idx&nbsp;=&nbsp;deque([1])<br /><span style="color: #008080; ">19</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ans&nbsp;=&nbsp;0<br /><span style="color: #008080; ">20</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">while</span>&nbsp;q:<br /><span style="color: #008080; ">21</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s&nbsp;=&nbsp;len(q)<br /><span style="color: #008080; ">22</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(s):<br /><span style="color: #008080; ">23</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;node&nbsp;=&nbsp;q.popleft()<br /><span style="color: #008080; ">24</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;x&nbsp;=&nbsp;q_idx.popleft()<br /><span style="color: #008080; ">25</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;i&nbsp;==&nbsp;0:<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;tp_min&nbsp;=&nbsp;x<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; ">if</span>&nbsp;i&nbsp;==&nbsp;s&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;tp_max&nbsp;=&nbsp;x<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; ">if</span>&nbsp;node.left:<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;q.append(node.left)<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;q_idx.append(2&nbsp;*&nbsp;x&nbsp;-&nbsp;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;<span style="color: #0000FF; ">if</span>&nbsp;node.right:<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;q.append(node.right)<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;q_idx.append(2&nbsp;*&nbsp;x)<br /><span style="color: #008080; ">35</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ans&nbsp;=&nbsp;max(ans,&nbsp;tp_max&nbsp;-&nbsp;tp_min&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;ans</div><img src ="http://www.cppblog.com/Uriel/aggbug/229832.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-20 18:45 <a href="http://www.cppblog.com/Uriel/articles/229832.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>