选择
D
ABC不全
D
分片之后 各个分片16位标识一样,除了最后一个分片,其余更多分片标记位为1
由片偏移量确定
C
在第三个字节中要同时保住0000 1000 和 0000 1001
二者由最后一位(第24位)是0或者1区分子网,那么就可以被23位网络号的网络汇总
A
C
服务端未收到确认包 会回复rst然后关闭连接
确认序号是对方发送的请求的起始序号+数据长度(建立连接时默认为1)
序号就是上次发送来的确认序号。
C
A
301永久重定向
302临时重定向
A
编程
最长公共子序列
class Solution {
public:
int longestCommonSubsequence(string text1, string text2)
{
//dp[i][j] 以text1中前i个字符 和以text2中前j个字符 组成的最长的公共子序列
// if(text1[i-1]==text2[j-1]) dp[i][j]=dp[i-1][j-1]+1
// else dp[i][j]=max(dp[i-1][j],dp[i][j-1])
int m=text1.size();
int n=text2.size();
vector<vector<int>>dp(m+1,vector<int>(n+1,0));
for(int i=1;i<=m;i++)
{
for(int j=1;j<=n;j++)
{
if(text1[i-1]==text2[j-1])
{
dp[i][j]=dp[i-1][j-1]+1;
}
else
{
dp[i][j]=max(dp[i-1][j],dp[i][j-1]);
}
}
}
return dp[m][n];
}
};
字符串计数
#include <iostream>
#include <string>
#include <vector>
#include <math.h>
using namespace std;
//注意实例中 ab到ce有56个 是由两个长度为1的 b c 和由54个长度为2的字符串一起组成的
int main()
{
string s1,s2;
int len1,len2;
//思路是将该字符串看成一个26进制的数
//a到z 长度为1的字符串 为26
while(cin>>s1>>s2>>len1>>len2)
{
//避免len2的长度超过 s1或者s2的size
s1.append('a',len2-s1.size());
s2.append('z'+1,len2-s2.size());
vector<int>v(len2);
for(int i=0;i<len2;i++)
{
v[i]=s2[i]-s1[i];
}
//剩的就是26进制的具体数字了
long long res=0;
//求多种长度的字符串个数
for(int i=len1;i<=len2;i++)
{
//长度为i的字符串个数 假设i=3 那么第一位对应 26的2次方为 i-1
//第二位对应 26的1次方 为i-1 -1
for(int j=0;j<i;j++)
{
res+=v[j]*pow(26,i-1-j);
}
}
cout<<res-1<<endl;
}
return 0;
}