<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>overtone.zoean</title><description>what you hear is not all there is.</description><link>https://overtone-zoean.vercel.app/</link><language>zh_CN</language><item><title>关于手写代码</title><link>https://overtone-zoean.vercel.app/posts/%E5%85%B3%E4%BA%8E%E6%89%8B%E5%86%99%E4%BB%A3%E7%A0%81/</link><guid isPermaLink="true">https://overtone-zoean.vercel.app/posts/%E5%85%B3%E4%BA%8E%E6%89%8B%E5%86%99%E4%BB%A3%E7%A0%81/</guid><description>没什么代码能力的人的一点思考</description><pubDate>Mon, 13 Jul 2026 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;为什么写代码&lt;/h1&gt;
&lt;p&gt;作为一个没什么代码水平，只会点基本语法的人（也许略懂一些无关紧要的东西吧），今天看到一篇博客文章，作者说自己学了很多东西，很多语言，然后做了很多管理系统。之后读研做项目继续做管理系统之类的东西，就感觉很无趣，然后开始自学，想做一些有意思的东西。不由得想到自己过去想接触计算机，接触代码的原因。&lt;/p&gt;
&lt;h2&gt;创造越来越廉价&lt;/h2&gt;
&lt;p&gt;我想许多人开始写代码，都是因为享受自己创造出作品，创造出能给很多人欣赏和使用的作品的快乐。而现在aicoding如此发达，这种创造的快乐一句话就能实现。我不断用这种几句话创造获取一些&lt;code&gt;廉价&lt;/code&gt;的快乐（大概吧）。同时内心又十分不安。也因为这种不安想开始手写代码，但是一段时间就坚持不下去了，因为看到十分幽默的学习速度和我贫瘠的大脑，和ai快速解决问题生成我想要的成果的强烈对比，脑子里那种&lt;code&gt;我问什么还要去学这个？&lt;/code&gt;的想法就越来越根深蒂固了。&lt;/p&gt;
&lt;h3&gt;未来&lt;/h3&gt;
&lt;p&gt;既然从各种意义上手写代码都没什么用，既不能给我一些优势也不能给我乐趣（或者乐趣远远小于aicoding），就更没想法坚持下去了。但这样会让我心里十分的恐慌，总感觉内心空洞无物。所以写了些算法题，也不知道是安慰自己还是什么原因。也许以后还会手写更多代码？但是真的很没动力。没和太多人交流过，不过我想，和我一样还没完全入门开发就被ai大人震撼到的一代人也许很多都有这个困境吧。&lt;/p&gt;
&lt;p&gt;也许有天ai完全取代了人类，到那时人工写代码成为和画画写字一样的&lt;code&gt;文化娱乐（？）&lt;/code&gt;活动，那天真不知道是好时代还是坏时代了。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;写于gpt5.6发布之后，codex疯狂重置，大家都用的很开心哈哈&lt;/p&gt;
&lt;/blockquote&gt;
</content:encoded></item><item><title>一个努力的人终于圆梦的故事</title><link>https://overtone-zoean.vercel.app/posts/%E4%B8%80%E4%B8%AA%E5%8A%AA%E5%8A%9B%E7%9A%84%E4%BA%BA%E7%BB%88%E4%BA%8E%E5%9C%86%E6%A2%A6%E7%9A%84%E6%95%85%E4%BA%8B/</link><guid isPermaLink="true">https://overtone-zoean.vercel.app/posts/%E4%B8%80%E4%B8%AA%E5%8A%AA%E5%8A%9B%E7%9A%84%E4%BA%BA%E7%BB%88%E4%BA%8E%E5%9C%86%E6%A2%A6%E7%9A%84%E6%95%85%E4%BA%8B/</guid><description>他值得这个冠军</description><pubDate>Tue, 23 Jun 2026 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;最后说一次，我和 NiKo Major 冠军数量一样多&lt;/h1&gt;
&lt;p&gt;随着小孩在小镇拿下最后一个人头，弹幕上满屏的&quot;最后说一次，我和 NiKo Major 冠军数量一样多&quot;，熬了三天夜看比赛的我感觉这结局也配得上我一路的劳累了（什么劳累&lt;/p&gt;
&lt;p&gt;从 PGL 阿斯塔纳被绿龙 3-0，看到 CAC 被 Legacy 爆冷击败，我心里已经对这个队伍没什么信心了，但还是偷偷想着——万一赢了呢？&lt;/p&gt;
&lt;p&gt;打小蜜蜂没看。感觉根本没什么机会，一觉醒来发现居然赢了，这时候才意识到好像真的有夺冠的可能。&lt;/p&gt;
&lt;p&gt;决赛还是悬着心看的，太多次见过这神队输掉一些离谱的局了。当然从结果来看还是稳得不行 hhh。&lt;/p&gt;
&lt;h2&gt;关于这个完美的故事&lt;/h2&gt;
&lt;p&gt;虽然最喜欢的是京介（已提前购入普通贴纸），小孩和龙哥也打得很好很好。但 NiKo 永不放弃的精神也让我十分感动——为了一件事情坚持十年，曾经的队友许多都退役或者在二线养老，他还始终保持着优秀的状态和旺盛的求胜心。&lt;/p&gt;
&lt;p&gt;和大表哥一起夺冠也是最浪漫的。原来通往结局的钥匙就藏在最开始，他也把这个一盘散沙的队伍变成了一个整体。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;总之是一个完美的故事。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2&gt;最后&lt;/h2&gt;
&lt;p&gt;希望我们都能像 NiKo 一样为了梦想永不放弃吧。&lt;/p&gt;
&lt;p&gt;当然，最好不要失败 18 次 hhh&lt;/p&gt;
</content:encoded></item><item><title>Overtone</title><link>https://overtone-zoean.vercel.app/posts/overtone/</link><guid isPermaLink="true">https://overtone-zoean.vercel.app/posts/overtone/</guid><description>一个简单的开始</description><pubDate>Thu, 18 Jun 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;code&gt;overtone.zoean&lt;/code&gt; 这个名字，起点是一个音乐里的概念。他是泛音，也指那些潜伏在表音之外别的声音&lt;/p&gt;
&lt;p&gt;当你听到一个音时，你听到的不只是主音本身。它上面还叠着一些更轻、更不显眼的频率，它们不一定最先被察觉，但会共同决定你真正听见的质感。
我想把这种感觉借来理解自己想做的产品和写的东西：
不停在第一层表象，而是向外思考更本质的东西&lt;/p&gt;
&lt;p&gt;这个网站之后会放项目记录、技术写作，以及一些想法和随笔。&lt;/p&gt;
</content:encoded></item><item><title>零钱兑换</title><link>https://overtone-zoean.vercel.app/posts/%E9%9B%B6%E9%92%B1%E5%85%91%E6%8D%A2/</link><guid isPermaLink="true">https://overtone-zoean.vercel.app/posts/%E9%9B%B6%E9%92%B1%E5%85%91%E6%8D%A2/</guid><description>用动态规划计算凑成金额所需的最少硬币数量。</description><pubDate>Sat, 02 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;给你一个整数数组 &lt;code&gt;coins&lt;/code&gt; ，表示不同面额的硬币；以及一个整数 &lt;code&gt;amount&lt;/code&gt; ，表示总金额。&lt;/p&gt;
&lt;p&gt;计算并返回可以凑成总金额所需的 &lt;strong&gt;最少的硬币个数&lt;/strong&gt; 。如果没有任何一种硬币组合能组成总金额，返回 &lt;code&gt;-1&lt;/code&gt; 。&lt;/p&gt;
&lt;p&gt;你可以认为每种硬币的数量是无限的。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;示例 1：&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;**输入：**coins = &lt;code&gt;[1, 2, 5]&lt;/code&gt;, amount = &lt;code&gt;11&lt;/code&gt;
&lt;strong&gt;输出：&lt;/strong&gt;&lt;code&gt;3&lt;/code&gt;
**解释：**11 = 5 + 5 + 1
写一下主要代码的思路，还是数组dp储存答案，用前面的答案计算后面的，使用循环计算所有值&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;dp[0]=0 ##也就是0元的时候需要0个硬币
##双层循环
for i in range(1,1+amount):##amount+1因为需要一直算到amount
	dp[i]=float(&apos;inf&apos;)##每次进循环前重置为无穷大，不然数组初始化全为0，取小只会取0
	for j in range(len(coins)):
		if(coins[j]&amp;lt;i):##每次硬币数值必须小于钱数，不然减出来负数没意义
			dp[i]=min(dp[i],dp[i-coins[j]]+1)
if dp[amount]==&apos;inf&apos;:##如果最后还是无穷大，返回-1，没有方案
	return -1
return dp[amount]
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;感觉动态规划的都要好好复习一遍，还是挺有必要的&lt;/p&gt;
</content:encoded></item><item><title>跳跃游戏</title><link>https://overtone-zoean.vercel.app/posts/%E8%B7%B3%E8%B7%83%E6%B8%B8%E6%88%8F/</link><guid isPermaLink="true">https://overtone-zoean.vercel.app/posts/%E8%B7%B3%E8%B7%83%E6%B8%B8%E6%88%8F/</guid><description>用贪心思路判断是否能够到达数组末尾。</description><pubDate>Mon, 20 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;给你一个非负整数数组 &lt;code&gt;nums&lt;/code&gt; ，你最初位于数组的 &lt;strong&gt;第一个下标&lt;/strong&gt; 。数组中的每个元素代表你在该位置可以跳跃的最大长度。&lt;/p&gt;
&lt;p&gt;判断你是否能够到达最后一个下标，如果可以，返回 &lt;code&gt;true&lt;/code&gt; ；否则，返回 &lt;code&gt;false&lt;/code&gt; 。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;示例 1：&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;**输入：**nums = [2,3,1,1,4]
**输出：**true
**解释：**可以先跳 1 步，从下标 0 到达下标 1, 然后再从下标 1 跳 3 步到达最后一个下标。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;示例 2：&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;输入：nums = [3,2,1,0,4]&lt;/strong&gt;
&lt;strong&gt;输出：false&lt;/strong&gt;
&lt;strong&gt;解释：无论怎样，总会到达下标为 3 的位置。但该下标的最大跳跃长度是 0 ， 所以永远不可能到达最后一个下标。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;这个首先要理解不需要知道每次怎么走，只需要知道每次能走到的最远位置 设为far，当前位置为i，对所有位置循环
首先可以走到0，然后如果最远值far比i还小，可以直接返回false，因为最远距离还不到当前位置，一定到不了终点
之后每次经过一个位置就更新最远值&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;far = max(far,nums[i]+i)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;当最远值大于len（nums）-1，可以返回ture
循环结束后还要再写一个return ture
因为数组中只有一个数的情况会被排除在外&lt;/p&gt;
</content:encoded></item><item><title>买卖股票的最佳时机</title><link>https://overtone-zoean.vercel.app/posts/%E4%B9%B0%E5%8D%96%E8%82%A1%E7%A5%A8%E7%9A%84%E6%9C%80%E4%BD%B3%E6%97%B6%E6%9C%BA/</link><guid isPermaLink="true">https://overtone-zoean.vercel.app/posts/%E4%B9%B0%E5%8D%96%E8%82%A1%E7%A5%A8%E7%9A%84%E6%9C%80%E4%BD%B3%E6%97%B6%E6%9C%BA/</guid><description>记录历史最低价，计算一次交易能获得的最大利润。</description><pubDate>Thu, 16 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;给定一个数组 &lt;code&gt;prices&lt;/code&gt; ，它的第 &lt;code&gt;i&lt;/code&gt; 个元素 &lt;code&gt;prices[i]&lt;/code&gt; 表示一支给定股票第 &lt;code&gt;i&lt;/code&gt; 天的价格。&lt;/p&gt;
&lt;p&gt;你只能选择 &lt;strong&gt;某一天&lt;/strong&gt; 买入这只股票，并选择在 &lt;strong&gt;未来的某一个不同的日子&lt;/strong&gt; 卖出该股票。设计一个算法来计算你所能获取的最大利润。&lt;/p&gt;
&lt;p&gt;返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润，返回 &lt;code&gt;0&lt;/code&gt; 。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;示例 1：&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;输入：&lt;/strong&gt;[7,1,5,3,6,4]
**输出：**5
**解释：**在第 2 天（股票价格 = 1）的时候买入，在第 5 天（股票价格 = 6）的时候卖出，最大利润 = 6-1 = 5 。
注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格；同时，你不能在买入前卖出股票。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;示例 2：&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;**输入：**prices = [7,6,4,3,1]
**输出：**0
**解释：**在这种情况下, 没有交易完成, 所以最大利润为 0。&lt;/p&gt;
&lt;p&gt;简单暴力解法，时间复杂度n2会超时&lt;/p&gt;
&lt;p&gt;不简单解法，对于每一天，我们可以选择卖出，而如果在这天卖出的收益最大，只需要找到这天之前的某天，股票价格最低，那么在这天卖出一定得到利益最多，然后求这些利益的最大值&lt;/p&gt;
&lt;p&gt;这里要注意在循环前规定好最大收益和最低价格，在每次循环中，先算最大收益，再算最小价格，这样一次循环就可以算完，时间复杂度on 因为算最小价格也只需要比较当前价格和过往最小价格，所以可以在一次循环中算完&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;max1=0
min1=&apos;inf&apos;
for i in range(len(prices)):
	max1=max(max1,prices[i]-min1)
	min1=min(min1,prices[i])
return ans
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;没想出来简单方法，看答案的&lt;/p&gt;
</content:encoded></item><item><title>完全平方数</title><link>https://overtone-zoean.vercel.app/posts/%E5%AE%8C%E5%85%A8%E5%B9%B3%E6%96%B9%E6%95%B0/</link><guid isPermaLink="true">https://overtone-zoean.vercel.app/posts/%E5%AE%8C%E5%85%A8%E5%B9%B3%E6%96%B9%E6%95%B0/</guid><description>用动态规划求和为 n 的完全平方数最少数量。</description><pubDate>Sun, 12 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;a href=&quot;https://leetcode.cn/problems/perfect-squares/&quot;&gt;279. 完全平方数&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;给你一个整数 &lt;code&gt;n&lt;/code&gt; ，返回 &lt;em&gt;和为 &lt;code&gt;n&lt;/code&gt; 的完全平方数的最少数量&lt;/em&gt; 。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;完全平方数&lt;/strong&gt; 是一个整数，其值等于另一个整数的平方；换句话说，其值等于一个整数自乘的积。例如，&lt;code&gt;1&lt;/code&gt;、&lt;code&gt;4&lt;/code&gt;、&lt;code&gt;9&lt;/code&gt; 和 &lt;code&gt;16&lt;/code&gt; 都是完全平方数，而 &lt;code&gt;3&lt;/code&gt; 和 &lt;code&gt;11&lt;/code&gt; 不是。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;示例 1：&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;**输入：**n = &lt;code&gt;12&lt;/code&gt;
**输出：**3
&lt;strong&gt;解释：&lt;/strong&gt;&lt;code&gt;12 = 4 + 4 + 4&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;动态规划 我现在大概懂了 意思就是搞一个公式用前面那些答案表示后面的
依旧dp,先初始第一个 0就等于0因为分解不成完全平方数
然后找规律
10做例子 可以分解为 1的平方加上+9  dp就是1+dp9
2的平方+6  dp=1+dp6
3的平方+1  dp=1+dp1
发现规律 当前dp就是当前数减去一个比它小的完全平方数 然后剩下的数的dp再加一（这个多加的一就是这个比它小的完全平方数） 穷举完所有情况得到最小值就是dp
然后写代码&lt;/p&gt;
&lt;p&gt;第一个问题就是每次外层循环开始要把dpi设置成无穷大，如果不设置无穷大 初始化的时候所有dp都是0 min只会取0&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;for i in range(1,i+1):
	dp[i]=float(&apos;inf&apos;)
	for j in range(1,int(n**0.5)+1):
		dp[i]=min(dp[i],dp[i-j*j]+1)
&lt;/code&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;code&gt;min(dp[i],dp[i-j*j]+1)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这一段就是每次更新dpi,把他当前值和新算出来的值作比较留下最小的 感觉这个很容易忘啊，要多看看&lt;/p&gt;
</content:encoded></item><item><title>打家劫舍</title><link>https://overtone-zoean.vercel.app/posts/%E6%89%93%E5%AE%B6%E5%8A%AB%E8%88%8D/</link><guid isPermaLink="true">https://overtone-zoean.vercel.app/posts/%E6%89%93%E5%AE%B6%E5%8A%AB%E8%88%8D/</guid><description>用动态规划比较偷与不偷当前房屋的最优解。</description><pubDate>Sat, 11 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;a href=&quot;https://leetcode.cn/problems/house-robber/&quot;&gt;198. 打家劫舍&lt;/a&gt;
你是一个专业的小偷，计划偷窃沿街的房屋。每间房内都藏有一定的现金，影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统，&lt;strong&gt;如果两间相邻的房屋在同一晚上被小偷闯入，系统会自动报警&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;给定一个代表每个房屋存放金额的非负整数数组，计算你 &lt;strong&gt;不触动警报装置的情况下&lt;/strong&gt; ，一夜之内能够偷窃到的最高金额。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;示例 1：&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;输入：&lt;/strong&gt;[1,2,3,1]
**输出：**4
**解释：**偷窃 1 号房屋 (金额 = 1) ，然后偷窃 3 号房屋 (金额 = 3)。
     偷窃到的最高金额 = 1 + 3 = 4 。&lt;/p&gt;
&lt;p&gt;自己想想不到，其实简单 和斐波那契数列那种有点像，只需要考虑第i个怎么来的&lt;/p&gt;
&lt;p&gt;把到第i个房屋的最大金额存进一个数组dp中&lt;/p&gt;
&lt;p&gt;首先考虑特殊，就一个和两个房子
只有一间就是nums0，只有两间就是两间中较大的哪个 所以dp的1和2就得到了
第i个房屋两种状态，偷或者不偷，如果偷，那么i-1不偷，所以到第i个房屋的最大金额就是 到第i-2个房屋的最大金额加上i这个房屋的金额 如果不偷 那么i房屋不影响结果 最大金额就是到第i-1房屋的最大金额 然后在这两者之间取最大
写出公式就是&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;dp[i]=max(dp[i-1],dp[i-2]+nums(i))
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;然后用一个循环把数组填满就行了 返回最后一个数&lt;/p&gt;
</content:encoded></item><item><title>简单题：杨辉三角</title><link>https://overtone-zoean.vercel.app/posts/%E7%AE%80%E5%8D%95%E9%A2%98%E6%9D%A8%E8%BE%89%E4%B8%89%E8%A7%92/</link><guid isPermaLink="true">https://overtone-zoean.vercel.app/posts/%E7%AE%80%E5%8D%95%E9%A2%98%E6%9D%A8%E8%BE%89%E4%B8%89%E8%A7%92/</guid><description>记录 Python 二维数组、列表和杨辉三角的基础写法。</description><pubDate>Sat, 11 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;专门用py写的，主要就两个
一个是二维数组其实就是&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;a = [[1, 2, 3], [4, 5, 6]]
b = [1, [2, 3], [&quot;a&quot;, &quot;b&quot;]]
#引用的时候也是
a[1][2] 
#和java c都一样的
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;第二个也是列表，如果是空列表没办法直接用索引，要用&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;append()
#或者先初始化
list=[0]*5
#这样就能用索引了
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;还是python不太熟练&lt;/p&gt;
</content:encoded></item><item><title>128. 最长连续序列</title><link>https://overtone-zoean.vercel.app/posts/128%E6%9C%80%E9%95%BF%E6%95%B0%E5%AD%97%E8%BF%9E%E7%BB%AD%E5%BA%8F%E5%88%97/</link><guid isPermaLink="true">https://overtone-zoean.vercel.app/posts/128%E6%9C%80%E9%95%BF%E6%95%B0%E5%AD%97%E8%BF%9E%E7%BB%AD%E5%BA%8F%E5%88%97/</guid><description>用哈希集合在线性时间内寻找最长连续序列。</description><pubDate>Sat, 04 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;a href=&quot;https://leetcode.cn/problems/longest-consecutive-sequence/&quot;&gt;128. 最长连续序列&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;中等&lt;/p&gt;
&lt;p&gt;给定一个未排序的整数数组 &lt;code&gt;nums&lt;/code&gt; ，找出数字连续的最长序列**（不要求序列元素在原数组中连续）**的长度。&lt;/p&gt;
&lt;p&gt;请你设计并实现时间复杂度为 &lt;code&gt;O(n)&lt;/code&gt; 的算法解决此问题。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;示例 1：&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;输入：nums = [100,4,200,1,3,2]
输出：4
解释：最长数字连续序列是 [1, 2, 3, 4]。它的长度为 4。&lt;/p&gt;
&lt;p&gt;首先哈希表用法忘记了 把nums放进哈希表去重  set=set(nums)
然后怎么判断是连续序列 set里面的数x 如果有x+1 存在就是有连续序列
如何判断一个数是不是一个连续序列的开头 如果x-1存在于序列中 说明不是开头 如果x-1不存在于序列中说明可能是开头 这样可以少判断一些数&lt;/p&gt;
&lt;p&gt;写代码&lt;/p&gt;
&lt;p&gt;自己写的问题： while应该放在if缩进下面 就是判断完是否是开头再开始判断连续序列 ans更新也放在if缩进下面 哎这个缩进确实总是忘记
while条件写错了，应该是判断current_num+1在不在哈希表中&lt;/p&gt;
&lt;p&gt;总结：个人感觉思路挺简单，能想到哈希表可以去重，但是想不到怎么更好的判断连续序列，看了答案才想到&lt;/p&gt;
</content:encoded></item></channel></rss>