文件名称:javalruleetcode-Data-Structure-and-Algorithm:数据结构与算法注意事项
文件大小:509KB
文件格式:ZIP
更新时间:2024-07-19 16:40:08
系统开源
java lru leetcode Data Structure and Algorithm Table of Contents 1. General 明确假设:任何在潜意识里面做的假设都要明确下来,因为很多问题故意设置一些特殊情形,不符合一般性的假设。 验证输入:检查无效/空/负/其他类型的输入。 永远不要假设您获得了有效参数。 或者和面试官确定你是否可以假设输入有效(通常是),这可以让你不用写输入验证的代码,节省时间。 复杂度要求:确定是否有时间/空间复杂度的要求。 :检查计数时边界条件是否判断失误,比如说本应该用"小于等于"最后却使用“小于”。 同一类型:在没有类型强制的语言中,检查串联起来的值是否是同一类型:int/str/list。 代码测试:写完代码后,写一些简单的输入来测试代码。 输入预处理:确定该算法是否要多次运行,比如在一个web服务器中。如果是,则输入可能是可以预处理的,这样的话可以通过预处理来提高效率。 函数式编程:结合使用函数式编程和命令式编程范式: 尽可能写纯函数,纯函数更容易推理,可以帮助减少实现中的错误 尽量不要改变传递给函数的参数。如果这些参数是通过引用
【文件预览】:
Data-Structure-and-Algorithm-master
----7_Tree()
--------Tree Leetcode.md(2KB)
--------Trie Leetcode.md(439B)
--------Binary Tree Tips.md(30KB)
----14_Greedy_Algorithm()
--------empty.md(0B)
----16_Permutation()
--------empty.md(0B)
----11_Sorting&Searching()
--------Sorting.md(8KB)
----5_Queue&Stack()
--------Queue&Stack Tips.md(7KB)
----1_Array()
--------Array.md(25KB)
----LICENSE(1KB)
----13_Recursion&Backtracking()
--------Recursion.md(408B)
----18_Math&Geometry()
--------Math.pdf(542KB)
--------Programming.md(379B)
--------Logic.md(30KB)
----10_Matrix()
--------Matrix.md(500B)
----2_String()
--------String.md(27KB)
----9_Heap()
--------Heap.md(441B)
----4_Linked_List()
--------Linked_List.md(18KB)
----15_Object-Oriented_Programming()
--------empty.md(0B)
----17_Interval()
--------Interval.md(699B)
----19_Miscellaneous()
--------empty.md(0B)
----.gitignore(39B)
----12_Dynamic_Programming()
--------Dynamic Programming.md(1KB)
----8_Graph()
--------Graph.md(1KB)
----README.md(30KB)
----.gitattributes(66B)
----6_Dictionary&HashTables()
--------empty.md(0B)
----3_Binary()
--------Binary.md(4KB)