回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>考虑以下列表:</p>
<pre><code>dates = [
('2015-02-03', 'name1'),
('2015-02-04', 'nameg'),
('2015-02-04', 'name5'),
('2015-02-05', 'nameh'),
('1929-03-12', 'name4'),
('2023-07-01', 'name7'),
('2015-02-07', 'name0'),
('2015-02-08', 'nameh'),
('2015-02-15', 'namex'),
('2015-02-09', 'namew'),
('1980-12-23', 'name2'),
('2015-02-12', 'namen'),
('2015-02-13', 'named'),
]
</code></pre>
<p>我该如何识别那些不按顺序排列的日期呢。我不在乎他们是重复,还是跳过,我只需要一个越界的方法。也就是说,我应该回去:</p>
^{pr2}$
<p>Namex不那么明显,但它不在列表的一般顺序中。在</p>
<p>我简单化的开始(为了简化问题,我删除了它)显然是不完整的。在</p>
<hr/>
<p><strong>更新</strong>:根据评论,似乎<a href="https://en.wikipedia.org/wiki/Longest_increasing_subsequence" rel="nofollow noreferrer">Longest Increase Subsequence</a>(LIS)的实现可以让我开始,这里有一个python实现:</p>
<ul>
<li><a href="https://stackoverflow.com/a/9832414/1061836">https://stackoverflow.com/a/9832414/1061836</a></li>
<li><a href="https://stackoverflow.com/questions/2631726/how-to-determine-the-longest-increasing-subsequence-using-dynamic-programming">How to determine the longest increasing subsequence using dynamic programming?</a></li>
<li><a href="https://rosettacode.org/wiki/Longest_increasing_subsequence#Python" rel="nofollow noreferrer">https://rosettacode.org/wiki/Longest_increasing_subsequence#Python</a></li>
<li><a href="https://codereview.stackexchange.com/questions/10230/python-implementation-of-the-longest-increasing-subsequence">https://codereview.stackexchange.com/questions/10230/python-implementation-of-the-longest-increasing-subsequence</a></li>
</ul>
<p>似乎一旦我得到了LIS,我就可以把它和原始列表进行比较,看看差距在哪里。。。迷人的。令人敬畏的蜂巢思维也是如此。在</p>