题目核心
二叉树中的路径被定义为一条从树中任意节点出发,沿父节点-子节点连接,达到任意节点的序列。同一个节点在一条路径序列中至多出现一次。该路径至少包含一个节点,且不一定经过根节点。
路径和是路径中各节点值的总和。
给你一个二叉树的根节点 root,返回其最大路径和。
例如:
-10
/ \
9 20
/ \
15 7
最大路径和:15 + 20 + 7 = 42
路径是 15 → 20 → 7,把 20 当成"最高点"拐弯
二叉树中的路径被定义为一条从树中任意节点出发,沿父节点-子节点连接,达到任意节点的序列。同一个节点在一条路径序列中至多出现一次。该路径至少包含一个节点,且不一定经过根节点。
路径和是路径中各节点值的总和。
给你一个二叉树的根节点 root,返回其最大路径和。
例如:
-10
/ \
9 20
/ \
15 7
最大路径和:15 + 20 + 7 = 42
路径是 15 → 20 → 7,把 20 当成"最高点"拐弯
回想 2023 年那会儿,学习技术然后把它用到实践里的日子。
那时候每行代码都要亲手去敲,每行代码都要去理解、去体会。感觉每一行代码都有它自己的作用,感觉自己必须要掌握每一行是怎么写的——不然就心里不踏实。
写了删,删了写。调一个 bug 调半天,最后跑通那一下,那种踏实是真的。
然后就像之前说过的那样,AI 像原子弹爆炸一样,链式反应,引发了质变。
到今天,Agent 甚至不需要你去理解代码是怎么写的,只需要看有没有实现效果就行了。给人一种感觉——编程语言要逐渐被自然语言替代了。
按照现在这个趋势,如果 AI 能把各个框架、模型都自然地"学会",会变成什么样?
给定一个未排序的整数数组 nums,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。
要求:设计并实现时间复杂度为 O(n) 的解法。
例如:
nums = [100, 4, 200, 1, 3, 2]
答案:4(最长连续序列是 [1, 2, 3, 4])
nums = [0, 3, 7, 2, 5, 8, 4, 6, 0, 1]
答案:9(最长连续序列是 [0, 1, 2, 3, 4, 5, 6, 7, 8])
给你一个非空整数数组 nums,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。
要求:算法应该具有线性时间复杂度,并且不使用额外空间。
例如:
nums = [2, 2, 1]
答案:1
nums = [4, 1, 2, 1, 2]
答案:4
nums = [1]
答案:1
给你一个字符串 s,请你统计并返回这个字符串中回文子串的数目。
例如:
s = "abc"
答案:3("a"、"b"、"c")
s = "aaa"
答案:6("a"×3、"aa"×2、"aaa"×1)
给你一个字符串 s 和一个字符串列表 wordDict 作为字典。请你判断是否可以利用字典中出现的单词拼接出 s。
s 即可。例如:
s = "leetcode", wordDict = ["leet", "code"]
返回 true("leet" + "code")
s = "applepenapple", wordDict = ["apple", "pen"]
返回 true("apple" + "pen" + "apple")
s = "catsandog", wordDict = ["cats", "dog", "sand", "and", "cat"]
返回 false
给定一个链表的头节点 head,判断链表中是否有环。
如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达该节点,则链表中存在环。参数 pos 表示链表尾连接到链表中的位置(从 0 开始),仅用于标识,不会作为参数传递。
返回 true 表示有环,false 表示无环。
例 1:1 -> 2 -> 3 -> 4,尾连到 2(pos=1)
返回 true
例 2:1 -> 2,尾连到 0(pos=0)
返回 true
例 3:1 -> 2 -> 3 -> null
返回 false
给定一个链表的头节点 head,返回链表开始入环的第一个节点。如果链表无环,则返回 null。
注意:不允许修改链表。
这题是 141. 环形链表 的进阶版——141 只判断有没有环,142 要找出环的入口节点。
例 1:1 -> 2 -> 3 -> 4,尾连到 2(pos=1)
返回节点 2(入环点)
例 2:1 -> 2,尾连到 0(pos=0)
返回节点 1(入环点)
例 3:1 -> 2 -> null
返回 null
renderWithHooks,然后可以说第二个问题的内容。
分为三个阶段:
阶段一:在调用函数前准备环境,把当前正在渲染的 fiber 赋予给全局变量 currentlyRenderingFiber = workInProgress,让后续 hook 知道自己属于哪个组件,读取 current 树上已有的 hook 链表头;判断当前是 mount 还是 update(首次渲染还是更新渲染)来切换 dispatcher。
外面在下雨。
雨声落在窗上,一下一下,像是某种节奏,又像是在数着什么。看着雨水顺着玻璃往下滑,心情也跟着交织起来——说不清是平静,还是有些低落,又好像夹杂着一点点释然。
有些情绪本来就没有名字,只是在下雨的时候,更容易被听见。
会想起一些事,一些人,一些还没来得及处理的念头。它们平时藏在忙碌的缝隙里,雨天一来,就被雨水冲到了眼前。
但无论怎么样,雨总会停的。
乌云散开以后,阳光会重新铺在地上,空气里会有泥土和青草的味道。那些被雨打湿的东西,会慢慢干透;那些被淋湿的心情,也会慢慢晾干。
雨后会是晴天。