1. 往往来说,一个题目会至少涉及两个东西:变量和数据量。在给出算法的时候,必须要考虑两者的特殊情况,通常就是两者都非常的大。
例如,实现算法找到一个单向链表中倒数第n个元素。
这个问题有很多解法,其中一个就是利用一个临时buffer来存储遍历的元素,这样只需要一次遍历就可以得到这些元素。然而,如果n非常大的时候,这个临时的buffer所占用空间就过大,也就无法达到最优解了。
2. 对于一个链表的问题,一种很普遍的解法就是设置两个指针。而这两个指针的移动关系往往就是题目中的关键关系。
本文探讨了链表问题的两种常见解决方法:使用临时缓存和双指针技术。通过实例说明了如何找到单向链表中倒数第n个元素,并讨论了不同情况下算法效率的影响。
1. 往往来说,一个题目会至少涉及两个东西:变量和数据量。在给出算法的时候,必须要考虑两者的特殊情况,通常就是两者都非常的大。
例如,实现算法找到一个单向链表中倒数第n个元素。
这个问题有很多解法,其中一个就是利用一个临时buffer来存储遍历的元素,这样只需要一次遍历就可以得到这些元素。然而,如果n非常大的时候,这个临时的buffer所占用空间就过大,也就无法达到最优解了。
2. 对于一个链表的问题,一种很普遍的解法就是设置两个指针。而这两个指针的移动关系往往就是题目中的关键关系。
297

被折叠的 条评论
为什么被折叠?