diff --git a/notes/剑指 offer 题解.md b/notes/剑指 offer 题解.md index 2e19e146..f7492747 100644 --- a/notes/剑指 offer 题解.md +++ b/notes/剑指 offer 题解.md @@ -161,7 +161,7 @@ public boolean Find(int target, int [][] array) { **题目要求** -以 O(1) 的空间复杂度和 O(n) 的空间复杂度来求解。 +以 O(1) 的空间复杂度和 O(n) 的时间复杂度来求解。 **解题思路** @@ -686,7 +686,7 @@ private void printNumber(char[] number) {

-- 综上,如果进行 N 次操作,那么大约需要移动节点的次数为 N-1+N=2N-1,其中 N-1 表示不是链表尾节点情况下的移动次数,N 表示是尾节点情况下的移动次数。那么增长数量级为 (2N-1)/N \~ 2,因此该算法的时间复杂度为 O(1)。 +- 综上,如果进行 N 次操作,那么大约需要移动节点的次数为 N-1+N=2N-1,其中 N-1 表示不是链表尾节点情况下的移动次数,N 表示是尾节点情况下的移动次数。(2N-1)/N \~ 2,因此该算法的时间复杂度为 O(1)。 ```java public ListNode deleteNode(ListNode head, ListNode tobeDelete) { diff --git a/notes/面向对象思想.md b/notes/面向对象思想.md index 55cdf5e0..2907b05c 100644 --- a/notes/面向对象思想.md +++ b/notes/面向对象思想.md @@ -26,7 +26,7 @@ > [Design Principles](http://www.oodesign.com/design-principles.html) -设计原则可以帮助我们避免那些糟糕的设计,这些原则被归纳在《敏捷软件开发:原则、模式与实践》 +设计原则可以帮助我们避免那些糟糕的设计,这些原则被归纳在《敏捷软件开发:原则、模式与实践》这本书中。 | 简写 | 全拼 | 中文翻译 | | -- | -- | -- | @@ -69,7 +69,7 @@ ## 5. 依赖倒置原则 - **高层模块不应该依赖于低层模块,二者都应该依赖于抽象** -- **抽象不应该依赖于细节,细节应该依赖于抽象** +2018-03-13 23:36:09 星期二- **抽象不应该依赖于细节,细节应该依赖于抽象** 高层模块包含一个应用程序中重要的策略选择和业务模块,如果高层模块依赖于底层模块,那么底层模块的改动就会直接影响到高层模块,从而迫使高层模块也需要改动。