diff --git a/notes/Leetcode 题解.md b/notes/Leetcode 题解.md index c35d22bc..dc9c65d3 100644 --- a/notes/Leetcode 题解.md +++ b/notes/Leetcode 题解.md @@ -1769,8 +1769,7 @@ public int minPathSum(int[][] grid) { 定义一个数组 dp 存储上楼梯的方法数(为了方便讨论,数组下标从 1 开始),dp[i] 表示走到第 i 个楼梯的方法数目。第 i 个楼梯可以从第 i-1 和 i-2 个楼梯再走一步到达,走到第 i 个楼梯的方法数为走到第 i-1 和第 i-2 个楼梯的方法数之和。 -
- +

dp[N] 即为所求。 @@ -1799,8 +1798,7 @@ public int climbStairs(int n) { 第 i 年成熟的牛的数量为: -
- +

**强盗抢劫** @@ -1810,8 +1808,7 @@ public int climbStairs(int n) { 定义 dp 数组用来存储最大的抢劫量,其中 dp[i] 表示抢到第 i 个住户时的最大抢劫量。由于不能抢劫邻近住户,因此如果抢劫了第 i 个住户那么只能抢劫 i - 2 和 i - 3 的住户,所以 -
- +

O(n) 空间复杂度实现方法: @@ -1891,8 +1888,7 @@ private int rob(int[] nums, int s, int e) { 综上所述,错误装信数量方式数量为: -
- +

dp[N] 即为所求。 @@ -1908,8 +1904,7 @@ dp[N] 即为所求。 因为在求 dp[n] 时可能无法找到一个满足条件的递增子序列,此时 {Sn} 就构成了递增子序列,因此需要对前面的求解方程做修改,令 dp[n] 最小为 1,即: -
- +

对于一个长度为 N 的序列,最长子序列并不一定会以 SN 为结尾,因此 dp[N] 不是序列的最长递增子序列的长度,需要遍历 dp 数组找出最大值才是所要的结果,即 max{ dp[i] | 1 <= i <= N} 即为所求。 @@ -2050,8 +2045,7 @@ public int lengthOfLCS(int[] nums1, int[] nums2) { 综上,0-1 背包的状态转移方程为: -
- +

```java public int knapsack(int W, int N, int[] weights, int[] values) { @@ -2075,8 +2069,7 @@ public int knapsack(int W, int N, int[] weights, int[] values) { 在程序实现时可以对 0-1 背包做优化。观察状态转移方程可以知道,前 i 件物品的状态仅由前 i-1 件物品的状态有关,因此可以将 dp 定义为一维数组,其中 dp[j] 既可以表示 dp[i-1][j] 也可以表示 dp[i][j]。此时, -
- +

因为 dp[j-w] 表示 dp[i-1][j-w],因此不能先求 dp[i][j-w] 防止将 dp[i-1][j-w] 覆盖。也就是说要先计算 dp[i][j] 再计算 dp[i][j-w],在程序实现时需要按倒序来循环求解。 diff --git a/notes/计算机网络.md b/notes/计算机网络.md index 31fa54f3..308e2e67 100644 --- a/notes/计算机网络.md +++ b/notes/计算机网络.md @@ -156,8 +156,7 @@ 主机或路由器发送数据帧所需要的时间。 -
- +

其中 l 表示数据帧的长度,v 表示发送速率。 @@ -165,8 +164,7 @@ 电磁波在信道中传播一定的距离需要花费的时间,电磁波传播速度接近光速。 -
- +

其中 l 表示信道长度,v 表示电磁波在信道上的传播速率。 @@ -261,18 +259,15 @@ TCP/IP 协议族是一种沙漏形状,中间小两边大,IP 协议在其中 为每个用户分配 m bit 的码片,并且所有的码片正交,对于任意两个码片 有 -
- +

为了方便,取 m=8,设码片 为 00011011。在拥有该码片的用户发送比特 1 时就发送该码片,发送比特 0 时就发送该码片的反码 11100100。 在计算时将 00011011 记作 (-1 -1 -1 +1 +1 -1 +1 +1),可以得到 -
- - -
+

+

其中 的反码。 @@ -671,13 +666,11 @@ TCP 使用超时重传来实现可靠传输:如果一个已经发送的报文 一个报文段从发送再到接收到确认所经过的时间称为往返时间 RTT,加权平均往返时间 RTTs 计算如下: -
- +

超时时间 RTO 应该略大于 RRTs,TCP 使用的超时时间计算如下: -
- +

其中 RTTd 为偏差,它与新的 RRT 和 RRTs 有关。