- 博客(28)
- 收藏
- 关注
原创 剑指offer JZ76 删除链表中重复的节点
描述在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表 1->2->3->3->4->4->5 处理后为 1->2->5数据范围:链表长度满足 1 <= n <=1000 ,链表中的值满足 1<=val<=1000进阶:空间复杂度O(n) ,时间复杂度 O(n)描述给定的排序列表会有三种情况: 1、pHead == NULL,...
2021-12-21 16:47:07
431
原创 剑指offer JZ18 删除链表的节点
描述给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。返回删除后的链表的头节点。1.此题对比原题有改动2.题目保证链表中节点的值互不相同3.该题只会输出返回的链表和结果做对比,所以若使用 C 或 C++ 语言,你不需要 free 或 delete 被删除的节点数据范围:0<=链表节点值<=100000<=链表长度<=10000思路给定的定向链表会有三种情形: 1、head == NULL 即...
2021-12-20 20:37:26
520
原创 DNS协议报文详解
我们通常使用机器的域名来访问这台机器,而不是直接使用其IP地址,比如访问因特网上的各种网站。那么如何将机器的域名转换成IP地址呢?这就需要使用DNS域名解析服务。一、DNS查询和应答报文详解 DNS是一套分布式的域名服务系统。每个DNS服务器上都存放着大量的机器名和IP地址 的映射,并且是动态更新的。DNS查询和应答报文的格式如下表格所示:0 15 16 ...
2021-05-19 19:48:46
3185
原创 C语言 基础知识之static(static是什么,static的好处,static的使用和作用)
一、static是什么? static是C/C++中的修饰符,可以用来修饰变量,也可以用来修饰函数。二、static的好处是什么? 1、隐藏变量或函数、隔离错误,有利于模块化程序 在编程中,难免会用到全局变量,全局变量的作用域是整个源程序,当一个源程序由多个源文件组成时,全局变量在所有的源文件中都是有效的。如果希望全局变量仅限于在本源文件中使用,在其他源文件中不能引用,也就是说限制其作用域只在定义该变量的源文件内有效,而在同一源程序的其他源文件中不能使用,这时,就可以通过在...
2021-05-14 12:51:23
27326
5
原创 C语言 基础知识之const(const是什么,const的作用,const的使用)
一、const是什么 const是C/C++中的类型修饰符。二、const的作用 1、对变量声明只读特性,保护变量值以防被修改 2、节省空间,避免不必要的内存分配。const修饰的变量在程序运行过程中只有一份拷贝 3、提高程序运行效率。编译器不为普通const常量分配存储空间,而是将他们保存在符号表中,这使得它成为一个编译期间的常量,没有了存储和读取内存的操作。三、const的使用 1、const和普通变量 (1)编译器在编译过程中把...
2021-05-05 12:12:23
57246
2
原创 L2TP协议笔记
一、概述L2TP是第二层隧道协议。隧道建立在LAC(L2TP客户端)和LNS(L2TP服务器)之间。隧道由一个控制连接和0-n个L2TP会话(用来传输PPP数据包的会话)组成。一对LAC和LNS之间可以有若干个隧道。L2TP由两种类型的报文,一种是控制报文一种是数据报文。控制报文用于隧道和通话的建立、维护和清除。数据报文封装PPP帧,并在隧道上传输。形象点说是这样的,隧道是一条有N条车道的高速公路,一台拨号PC的数据流就是一条会话,占用了一条公路,这条公路上只能传输这台PC的报文,运载报文在...
2020-11-08 14:13:57
3031
1
原创 wireshark抓包分析POP3协议
一、工具wireshark链接:https://pan.baidu.com/s/1uOAGBrwbsmzFXLnpw6EHaA提取码:vs59pop3.pcap链接:https://pan.baidu.com/s/1Yl_B6Cs5LLi2oSImyjh5NA提取码:li1f二、分析1.用wireshark打开pop3.pcap后,在下图过滤器位置输入ip.addr==183.3.225.42,点击右侧的小箭头。其中183.3.225.42是qq的pop服务器的ip ...
2020-08-31 17:15:07
6854
10
原创 Linux基础知识之压缩包管理
压缩包管理1.gzip 压缩后不保留原文件且不能打包压缩,不能压缩目录压缩 gzip 文件名解压缩 gunzip 文件名2.bzip2 不能打包压缩,不能压缩目录压缩 bzip2 文件名解压缩 bunzip2 文件名 (加 -k 压缩时保留原文件)3.tar(不使用z/j参数,该命令只能对文件或目录打包)参数:c 压缩x 解压缩v 显示提示信息f 指...
2020-02-03 11:18:29
167
原创 Linux基础知识之文件和目录的操作
1.文件和目录操作(1)命令解析器根据输入的字符串调用相应的程序(2)Linux快捷键history:查看之间做过的操作ctrl p:命令向上滚动ctrl n:命令向下滚动光标移动:向前移动 ctrl+b 向后移动 ctrl+f 移动到命令头部 ctrl +a 移动到命令尾部 ctrl+e删除:删除光标前的一个字符ctrl+h 删除光标后的一个字符ctrl+d 删除...
2020-02-02 19:28:36
274
原创 查找链表中倒数第k个结点(C++实现)
时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 32M,其他语言64M热度指数:926369本题知识点:链表题目描述输入一个链表,输出该链表中倒数第k个结点。思路:如果链表为空,返回NULL如果pListHead->next为NULL,说明该链表只有一个结点,当k不等于1时,倒数第k个结点不存在,返回NULL;如果k等于1,返回pListHea...
2020-01-14 09:42:54
753
原创 ubuntu使用g++编译c++程序
g++ helloworld.cpp(源文件) -o(制定编译结果的输出文件) helloworld./helloworld (执行编译后的程序)
2019-05-10 22:29:11
535
原创 第八届蓝桥杯C/C++B组个人决赛36进制
36进制对于16进制,我们使用字母A-F来表示10及以上的数字。如法炮制,一直用到字母Z,就可以表示36进制。36进制中,A表示10,Z表示35,AA表示370你能算出 MANY 表示的数字用10进制表示是多少吗?请提交一个整数,不要填写任何多余的内容(比如,说明文字)结果:1040254思路:A表示10,Z表示35,我们需要将英文字母和数字对应起来,显然我们...
2019-03-26 19:58:42
535
原创 PAT1002写出这个数
/*1002 写出这个数读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。输入格式:每个测试输入包含 1 个测试用例,即给出自然数 n 的值。这里保证 n 小于 10的100次方输出格式:在一行内输出 n 的各位数字之和的每一位,拼音数字间有 1 空格,但一行中最后一个拼音数字后没有空格。输入样例:1234567890987654321123456789...
2019-03-23 15:05:14
275
原创 PAT1001害死人不偿命的(3n+1)猜想
1001 害死人不偿命的(3n+1)猜想卡拉兹(Callatz)猜想:对任何一个正整数 n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把 (3n+1) 砍掉一半。这样一直反复砍下去,最后一定在某一步得到 n=1。卡拉兹在 1950 年的世界数学家大会上公布了这个猜想,传说当时耶鲁大学师生齐动员,拼命想证明这个貌似很傻很天真的命题,结果闹得学生们无心学业,一心只证 (3n+1),以...
2019-03-23 13:09:59
1467
原创 每日一道面试题--编程判断大小端
1 //小端数据模式与内存增长方向一致,大端数据模式与内存增长方式相反 2 //大端 寄存器的低地址存放字节数据的高位 3 //小端 寄存器的低地址存放字节数据的低位 4 //联合方法判断 C语言中的数据类型都是从内存的低地址向高地址扩展,小端方式中i所分配的内存那个最小地址中就存着1,其他字节是0. 大端的话则1在i的最高地址字节处存放,char是一个字节,联合...
2018-10-25 21:20:13
392
原创 TCP建立过程(三次握手)详解以及为什么三次握手?
客户端先向服务器发送一个请求报文,标志位SYN置为1,序号位X置为0,客户端进入SYN_SEND状态,等待服务器确认。服务器接收到客户端的请求报文后,通过标志位SYN==1得知,发送这个报文的客户端需要连接,服务器就向客户端发送一个确认报文,标志位ACK置为1,序号位Y置为0,并为此次连接分配资源,服务器进入SYN_RECV状态。客户端收到服务器的确认报文后,如果ACK的值等于客户端序位号的值加一...
2018-06-19 08:53:02
1018
原创 网络编程基础概念
1.网络编程的基本概念 (1)IP地址 IP地址的作用是标识网络中的一台计算机,每一台计算机都有一个IP地址。在程序中,通过IP地址来访问一台计算机。IP地址具有统一的格式,IP地址是32位长度的二进制数值,存储空间是4个字节。 (2)端口 所谓端口,是计算机中为了标识计算机中访问网络的不同程序的编号。每一个程序访问网络时,都会分配一个标识符。程序在访问网络...
2018-05-23 15:26:26
366
原创 面向连接的套接字通信(一)
1.面向连接的套接字通信工作流程(1)服务器先用socket函数来建立一个套接字,用这个套接字完成通信的监听(2)用bind函数来绑定一个端口号和IP地址。因为本地计算机可能有多个IP,每一个IP有多个端口号,需要指定一个IP和端口进行监听(3)服务器调用listen函数,使服务器的这个端口和IP出于监听状态,等待客户机的连接(4)客户机用socket建立一个套接字(5)客户机调用connect函...
2018-05-23 15:22:53
1076
原创 蓝桥杯校园选拔之X^X
如果x的x次幂结果为10(参见【图1.png】),你能计算出x的近似值吗?显然,这个值是介于2和3之间的一个数字。请把x的值计算到小数后6位(四舍五入),并填写这个小数值。注意:只填写一个小数,不要写任何多余的符号或说明。答案:2.506184#include<iostream>#include<iomanip>using namespace std;int mai...
2018-02-21 23:00:28
211
2
原创 第八届蓝桥杯省赛B组之承压计算
标题:承压计算X星球的高科技实验室中整齐地堆放着某批珍贵金属原料。每块金属原料的外形、尺寸完全一致,但重量不同。金属材料被严格地堆放成金字塔形。 7 5 8 7 8 8 9 2 7 ...
2018-02-21 04:52:45
1154
5
原创 第八届蓝桥杯省赛B组之等差素数列
标题:等差素数列2,3,5,7,11,13,....是素数序列。类似:7,37,67,97,127,157 这样完全由素数组成的等差数列,叫等差素数数列。上边的数列公差为30,长度为6。2004年,格林与华人陶哲轩合作证明了:存在任意长度的素数等差数列。这是数论领域一项惊人的成果!有这一理论为基础,请你借助手中的计算机,满怀信心地搜索:长度为10的等差素数列,其公差最小值是多少?注意:需要提交的是...
2018-02-21 03:21:32
899
原创 蓝桥杯校园选拔之汉字相加
有如下的加法算式。其中每个汉字代表一个数字。(如果存在对齐问题,可参见【图1.png】) 年 大年 过大年 能过大年 怎能过大年 我怎能过大年+ 让我怎能过大年------------------ 能能能能能能能请填写“让我怎能过大年” 所代表的整数
2018-02-09 20:35:24
243
原创 蓝桥杯校园选拔之位平方和
把一个整数的每个数位都平方后求和,又得到一个整数,我们称这个整数为:位平方和。对新得到的整数仍然可以继续这一运算过程。比如,给定整数为4,则一系列的运算结果为:16,37,58,89,....本题的要求是,已知一个整数x,求第n步的运算结果。数据格式要求:输入,两个整数x n,中间以空格分开。表示求x的第n步位平方和。其中,x,n都大于0,且小于100000。输出,一个
2018-02-09 20:32:10
253
原创 蓝桥杯校园选拔之循环素数
1193是个素数,对它循环移位后发现:1931,9311,3119也都是素数,这样特征的数叫:循环素数。你能找出具有这样特征的5位数的循环素数吗?当然,这样的数字可能有很多,请写出其中最大的一个。注意:答案是个5位数,不要填写任何多余的内容。#include<iostream>using namespace std;bool isPrime(int number);int max...
2018-02-09 16:12:32
575
原创 蓝桥杯校园选拔之调和级数
1/1 + 1/2 + 1/3 + 1/4 + ... 在数学上称为调和级数。它是发散的,也就是说,只要加上足够多的项,就可以得到任意大的数字。但是,它发散的很慢:前1项和达到 1.0前4项和才超过 2.0前83项的和才超过 5.0那么,请你计算一下,要加多少项,才能使得和达到或超过 15.0 呢?请填写这个整数。注意:只需要填写一个整数,不要填写任何多余的内容。比如说明文字。答案:1835329...
2018-02-09 15:58:11
251
原创 蓝桥杯校园选拔之杨辉三角
11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 11 6 15 20 15 6 11 7 21 35 35 21 7 1#include<iostream>#define N 10using namespac...
2018-02-09 14:36:43
292
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人