【C++】刷题日记(day14)

简介: 刷题是我们学习编程的一个重要模块,刷题能帮助我们巩固我们学习的知识,能够增强我们的编程水平. 本文总共讲了5题牛客高频的选择题,以及两道牛客编程题,希望大家读后能够有所收获!

mmexport1669275051328.jpg

到得还来别无事,庐山烟雨浙江潮。

一、选择题

1、TCP建立连接的三次握手中,第二次握手发送的包会包含的标记,最正确的描述是()

A、SYN, PSH

B、ACK

C、SYN,ACK

D、SYN

答案:C。分析:image.png


2、当使用TCP协议编程时,下列问思哪个是必须由程序员考虑和处理的()

A、网络拥塞处理

B、乱产数据包的重传

C、数据传输过程中的纠错

D、发送数据的格式和应用层协议

答案:D。

3、主机甲和主机乙新建一个 TCP 连接,甲的拥塞控制初始阈值为 32KB,甲向乙始终以 MSS=1KB 大小的段发送数据,并一直有数据发送;乙为该连接分面16KB 接收缓存,并对每个数据段进行确认,忽略段传输延迟。若乙收到的数据全部存入缓存,不被取走,则甲从连接建立成功时刻起,未发送超时的情况下,经过4个RTT后,甲的发送窗口是()

A、16KB

B、1KB

C、0KB

D、32KB

答案:B。

4、现在有很多网站都开始选择HTTPS作为默认的协议,HTTPS的用途是()

A.可以加速页面的加载,提高响应速度

B.可以让服务器端主动推送消息到客户端

C.可以确保传输数据的安全性和防篡改

D.为了提高浏览器兼容性

答案:C。分析:https 中的 s 代表security ,所以用HTTPS比HTTP要来的安全。

5、TCP断开连接的四次挥手中,第四次挥手发送的包会包含的标记,最正确的描述是()

A.FIN

B. FIN, PSH

C.ACK

D. FIN,ACK

答案:C。分析:我们假设由client提出关闭,则:

第一次:FIN(client发给server)

第二次:ACK(server发给client)第三次:FIN(server发给client )第四次:ACK(client发给server)1.1MB

第三次:FIN(server发给client)


二、编程题

1、数据库连接池

image.png

解题思路:就是利用栈的进栈和出栈,计算n次循环过程中的栈内数据最大值。

代码示例:

#include<iostream>#include<string>#include<stack>#include<algorithm>usingnamespacestd;
intmain()
{
intn;
while (cin>>n)
    {
stringid, op;
intMax=0;
stack<string>s1;
for (inti=0; i<n; i++)
        {
cin>>id>>op;
if (op=="connect")
            {
s1.push(id);
            }
elseif (op=="disconnect")
            {
s1.pop();
            }
inth=s1.size();
Max=max(Max, h);
        }
cout<<Max<<endl;
    }
return0;
}

2、mkdir

image.png

这题题目较难,我也是借鉴了别人的想法

代码示例:

#include<iostream>#include<string>#include<vector>#include<algorithm>usingnamespacestd;
intmain()
{
intn;
while (cin>>n)
    {
vector<string>s1(n);//存取每一次输入vector<bool>flag(n, true);
for (inti=0; i<n; i++) cin>>s1[i];
sort(s1.begin(), s1.end());
for (inti=0; i<s1.size() -1; i++)
        {
// 1、两串相同// 2、前串是后串的子串,而且后串后一位是 '/'if (s1[i] ==s1[i+1]) flag[i] =false;
elseif (s1[i].size() <s1[i+1].size() &&\s1[i] ==s1[i+1].substr(0, s1[i].size()) &&s1[i+1][s1[i].size()] =='/')
flag[i] =false;
        }
for (inti=0; i<s1.size(); ++i)
if (flag[i]) cout<<"mkdir -p "<<s1[i] <<endl;
cout<<endl;
    }
return0;
}

总结

本文总共讲了5题牛客高频的选择题,以及两道牛客编程题,希望大家读后能够有所收获!


相关文章
|
算法 C语言 C++
从C语言的使用转换到C++(上篇)——刷题、竞赛篇
从C语言的使用转换到C++(上篇)——刷题、竞赛篇
286 0
|
存储 C++
【五一创作】C++刷题 【入门4】数组
【五一创作】C++刷题 【入门4】数组
148 0
|
机器学习/深度学习 存储 人工智能
【c++百日刷题计划】 ———— DAY12,奋战百天,带你熟练掌握基本算法
【c++百日刷题计划】 ———— DAY12,奋战百天,带你熟练掌握基本算法
218 0
|
7月前
|
算法 C++
【数据结构与算法】:关于时间复杂度与空间复杂度的计算(C/C++篇)——含Leetcode刷题-2
【数据结构与算法】:关于时间复杂度与空间复杂度的计算(C/C++篇)——含Leetcode刷题
|
7月前
|
算法 C++
【数据结构与算法】:关于时间复杂度与空间复杂度的计算(C/C++篇)——含Leetcode刷题-1
【数据结构与算法】:关于时间复杂度与空间复杂度的计算(C/C++篇)——含Leetcode刷题
|
8月前
|
C语言 C++
【C语言/C++】牛客网刷题训练-12
【C语言/C++】牛客网刷题训练-12
|
8月前
|
存储 自然语言处理 C++
刷题用到的非常有用的函数c++(持续更新)
刷题用到的非常有用的函数c++(持续更新)
92 1
|
存储 C语言 C++
【C/C++刷题——leetcode】查找字符串中最大的子串
【C/C++刷题——leetcode】查找字符串中最大的子串
355 0
|
机器学习/深度学习 人工智能 C++
【c++百日刷题计划】 ———— DAY16,刷题百天,养成刷题好习惯
【c++百日刷题计划】 ———— DAY16,刷题百天,养成刷题好习惯
195 0
【c++百日刷题计划】 ———— DAY16,刷题百天,养成刷题好习惯
|
存储 算法 C++
【c++百日刷题计划】 ———— DAY13,奋战百天,带你熟练掌握基本算法
【c++百日刷题计划】 ———— DAY13,奋战百天,带你熟练掌握基本算法
375 0