10000 auto commit · githubclj/InterviewNotes@4596b42 · GitHub
[go: up one dir, main page]

Skip to content

Commit 4596b42

Browse files
committed
auto commit
1 parent db5a16d commit 4596b42

File tree

2 files changed

+14
-0
lines changed

2 files changed

+14
-0
lines changed

notes/Leetcode 题解.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1771,6 +1771,7 @@ public int minPathSum(int[][] grid) {
17711771

17721772
<div align="center"><img src="https://latex.codecogs.com/gif.latex?dp[i]=dp[i-1]+dp[i-2]"/></div>
17731773

1774+
17741775
dp[N] 即为所求。
17751776

17761777
考虑到 dp[i] 只与 dp[i - 1] 和 dp[i - 2] 有关,因此可以只用两个变量来存储 dp[i - 1] 和 dp[i - 2] 即可,使得原来的 O(n) 空间复杂度优化为 O(1) 复杂度。
@@ -1800,6 +1801,7 @@ public int climbStairs(int n) {
18001801

18011802
<div align="center"><img src="https://latex.codecogs.com/gif.latex?dp[i]=dp[i-1]+dp[i-3]"/></div>
18021803

1804+
18031805
**强盗抢劫**
18041806

18051807
[Leetcode : 198. House Robber (Easy)](https://leetcode.com/problems/house-robber/description/)
@@ -1810,6 +1812,7 @@ public int climbStairs(int n) {
18101812

18111813
<div align="center"><img src="https://latex.codecogs.com/gif.latex?dp[i]=max(dp[i-2],dp[i-3])+nums[i]"/></div>
18121814

1815+
18131816
O(n) 空间复杂度实现方法:
18141817

18151818
```java
@@ -1890,6 +1893,7 @@ private int rob(int[] nums, int s, int e) {
18901893

18911894
<div align="center"><img src="https://latex.codecogs.com/gif.latex?dp[i]=(i-1)*dp[i-2]+(i-1)*dp[i-1]"/></div>
18921895

1896+
18931897
dp[N] 即为所求。
18941898

18951899
和上楼梯问题一样,dp[i] 只与 dp[i-1] 和 dp[i-2] 有关,因此也可以只用两个变量来存储 dp[i-1] 和 dp[i-2]
@@ -1906,6 +1910,7 @@ dp[N] 即为所求。
19061910

19071911
<div align="center"><img src="https://latex.codecogs.com/gif.latex?dp[n]=max\{1,dp[i]+1|S_i<S_n\&\&i<n\}"/></div>
19081912

1913+
19091914
对于一个长度为 N 的序列,最长子序列并不一定会以 S<sub>N</sub> 为结尾,因此 dp[N] 不是序列的最长递增子序列的长度,需要遍历 dp 数组找出最大值才是所要的结果,即 max{ dp[i] | 1 <= i <= N} 即为所求。
19101915

19111916
**最长递增子序列**
@@ -2047,6 +2052,7 @@ public int lengthOfLCS(int[] nums1, int[] nums2) {
20472052

20482053
<div align="center"><img src="https://latex.codecogs.com/gif.latex?dp[i][j]=max(dp[i-1][j],dp[i-1][j-w]+v)"/></div>
20492054

2055+
20502056
```java
20512057
public int knapsack(int W, int N, int[] weights, int[] values) {
20522058
int[][] dp = new int[N][W];
@@ -2071,6 +2077,7 @@ public int knapsack(int W, int N, int[] weights, int[] values) {
20712077

20722078
<div align="center"><img src="https://latex.codecogs.com/gif.latex?dp[j]=max(dp[j],dp[j-w]+v)"/></div>
20732079

2080+
20742081
因为 dp[j-w] 表示 dp[i-1][j-w],因此不能先求 dp[i][j-w] 防止将 dp[i-1][j-w] 覆盖。也就是说要先计算 dp[i][j] 再计算 dp[i][j-w],在程序实现时需要按倒序来循环求解。
20752082

20762083
**无法使用贪心算法的解释**

notes/计算机网络.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,7 @@
158158

159159
<div align="center"><img src="https://latex.codecogs.com/gif.latex?delay=\frac{l(bit)}{v(bit/s)}"/></div>
160160

161+
161162
其中 l 表示数据帧的长度,v 表示发送速率。
162163

163164
### 2. 传播时延
@@ -166,6 +167,7 @@
166167

167168
<div align="center"><img src="https://latex.codecogs.com/gif.latex?delay=\frac{l(m)}{v(m/s)}"/></div>
168169

170+
169171
其中 l 表示信道长度,v 表示电磁波在信道上的传播速率。
170172

171173
### 3. 处理时延
@@ -261,14 +263,17 @@ TCP/IP 协议族是一种沙漏形状,中间小两边大,IP 协议在其中
261263

262264
<div align="center"><img src="https://latex.codecogs.com/gif.latex?\vec{S}\cdot\vec{T}=0"/></div>
263265

266+
264267
为了方便,取 m=8,设码片 <img src="https://latex.codecogs.com/gif.latex?\vec{S}"/> 为 00011011。在拥有该码片的用户发送比特 1 时就发送该码片,发送比特 0 时就发送该码片的反码 11100100。
265268

266269
在计算时将 00011011 记作 (-1 -1 -1 +1 +1 -1 +1 +1),可以得到
267270

268271
<div align="center"><img src="https://latex.codecogs.com/gif.latex?\frac{1}{m}\vec{S}\cdot\vec{S}=1"/></div>
269272

273+
270274
<div align="center"><img src="https://latex.codecogs.com/gif.latex?\frac{1}{m}\vec{S}\cdot\vec{S'}=-1"/></div>
271275

276+
272277
其中 <img src="https://latex.codecogs.com/gif.latex?\vec{S'}"/> 为 <img src="https://latex.codecogs.com/gif.latex?\vec{S}"/> 的反码。
273278

274279
利用上面的式子我们知道,当接收端使用码片 <img src="https://latex.codecogs.com/gif.latex?\vec{S}"/> 对接收到的数据进行内积运算时,结果为 0 的是其它用户发送的数据,结果为 1 的是用户发送的比特 1,结果为 -1 的是用户发送的比特 0。
@@ -668,10 +673,12 @@ TCP 使用超时重传来实现可靠传输:如果一个已经发送的报文
668673

669674
<div align="center"><img src="https://latex.codecogs.com/gif.latex?RTTs=(1-a)*(RTTs)+a*RTT"/></div>
670675

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

673679
<div align="center"><img src="https://latex.codecogs.com/gif.latex?RTO=RTTs+4*RTT_d"/></div>
674680

681+
675682
其中 RTT<sub>d</sub> 为偏差,它与新的 RRT 和 RRTs 有关。
676683

677684
## TCP 流量控制

0 commit comments

Comments
 (0)
0