刷穿力扣 | 437. 路径总和 III(一道很多细节的算法题)

元旦做了一个决定,算法是我必须要深入的一门手艺,所以我会要求自己,坚持刷题,而且难题一定要抽出时间死磕。

题目
原题链接:点击这里 难度:中等
思路
这道题,说老实话,上来我的思路就很明确,dfs就能解,并且在白板上两分钟就截了出来。但是我知道这一定不是最优解,很遗憾,我没能自己想出最优解,看了解题很久才明白过来,这是一道很有技巧的算法题,这里会把两种解法都贴出来,dfs和前缀和。
所谓dfs暴力解法,就是穷举所有节点为路径和的初始节点,然后向下递归,每一个节点作为路径和的初始节点有多少满足情况的,再将其相加就好了。
前缀和的解法,使用力扣一个哥们的截图来解释一下。
我们到每一个节点的时候,记录下来根节点到这个节点的路径和,这个数字减去目标路径和就是前面节点应该的路径和的数字,比如到了节点3,路径和是6,目标路径和是5,我们就看前缀和是1的就好了,正好有,数量为1,那么节点3这就有一条

刷穿力扣 | 437. 路径总和 III(一道很多细节的算法题)最先出现在Python成神之路

版权声明:
作者:主机优惠
链接:https://www.techfm.club/p/15125.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>