算法
刷题笔记0x07:不同路径
算法动态规划这篇文章讨论了一个机器人从网格左上角移动到右下角的不同路径数问题。它首先介绍了问题的描述,然后提出了一个递归公式 `f(x, y) = f(x-1, y) + f(x, y-1)` 来计算从起点到坐标点 `(x, y)` 的路径数。接着,文章解释了如何使用二维数组来避免数组索引出现负数,并提供了代码实现。最后,文章还提到了可以用排列组合的方法来解决这个问题。
刷题笔记0x06:双指针问题
算法Python文章讨论了leetcode上双指针问题的解决方法和思路。对于三数之和问题,它首先介绍了暴力穷举和用哈希表换时间的方法,然后介绍了利用排序和双指针降低时间复杂度的方法以及一些需要注意的细节。接着,文章介绍了删除链表倒数第N个节点问题的解决方法,它首先介绍了两个指针跑的过程,然后介绍了注意链表长度为n,要求删除倒数第n的情况。最后,文章还提到了两个相似的题目:最接近的三数之和与四数之和。
刷题笔记0x09:单词拆分
动态规划算法这篇文章介绍了如何使用动态规划解决一个字符串分割问题,即判断一个给定的字符串能否被空格拆分为一个或多个在字典中出现的单词。文章从分析题意、设计状态转移方程到代码实现,最后还探讨了代码优化方案。文章思路清晰,代码简洁,是一篇优秀的算法题解。