自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(61)
  • 资源 (2)
  • 收藏
  • 关注

原创 Cain执行中间人攻击

甄某为犯罪嫌疑人,警察想获得甄某在其单位网站的用户名和密码,以便查清是否存在犯罪证据。调查后发现,甄某将窃取的部分机密文件存放在某秘密场所的一台主机上,一般通过Windows远程访问的方式连接到秘密主机。警察想截获甄某远程访问的用户名与密码。假设:嫌疑人和警察的电脑在同一局域网内,计划采用ARP欺骗、DNS欺骗、钓鱼网站相结合的方式获取信息;警察已有嫌疑人单位的钓鱼网站。

2023-02-16 11:11:39 759

原创 MAC安装配置Anaconda

1、下载Anaconda这里直接上官网链接:传送门我下载的是图形界面版,按照提示逐步安装,可以选择仅为本用户安装或者安装在根目录下。2、修改配置文件安装完成后,打开命令行输入conda --version,显示zsh: command not found: conda,此时需要在.zshrc文件中加入anaconda的安装路径。#打开文件vi ~./zshrc#在文件内加入下面一行,安装路径根据自己的实际路径修改export PATH="~/opt/anaconda3/bin:$PATH"

2020-11-11 19:40:29 1218

原创 IPHONE绑定武大邮箱的一些坑

本篇文章主要介绍在Windows和Linux下Socket通信技术。 1 1 1 1 1 11 1 1 1 1 11 1 1 1 1 11 1 1 1 1 1 1 11 1 1 1 1 1 1 1 1 11 1 1 11 1 1 1 1 11 1 1 1欢迎使用Markdown编辑器写博客本Markd

2020-05-19 11:27:25 5514 4

原创 南京邮电大学CTF——WEB

文章目录1、签到题3、签到24、这题不是WEB5、层层递进1、签到题查看页面源码3、签到2题目要求输入zhimakaimen,长度为11,查看页面源码发现maxlength="10",在开发者工具中将 maxlength=”10” 字段修改为 maxlength=”11” 或是更大的值,然后输入字符串并提交。4、这题不是WEB下载图片用winhex或notepad++打开,在末尾发现f...

2019-09-26 16:58:15 1296

转载 docker容器内存占用 之 系统cache

缘起: 监控(docker stats)显示容器内存被用完了,进入容器瞅了瞅,没有发现使用内存多的进程,使用awk等工具把容器所有进程使用的内存加起来看看,距离用完还远了去了,何故?分析:该不会docker stats计算错误?进入/sys/fs/cgroup/memory/docker/xxxxx/ 查看memory.usage ,确认计算没有错误我们知道,系统内存会有一部分被buffer、ca

2017-08-14 15:03:59 8189

原创 3、Redis系统管理

1、适合全体类型的常用命令(1)EXISTS / DEL EXISTS key :判断一个key是否存在;存在返回 1,否则返回0。 DEL key :删除某个key,或是一系列keyDEL key1 key2 key3 key4。成功返回1,失败返回0(key值不存在)。(2)TYPE / KEYS TYPE key:返回某个key元素的数据类型 ( none:不存在,string:字符,l

2017-08-14 14:31:37 452

原创 2、Redis数据类型

传统的key-value是指支持使用一个key字符串来索引value字符串的存储,而Redis中的value不仅仅支持字符串,还支持更多的复杂结构,包括列表,集合,哈希表等。1. Redis strings字符串是一种最基本的Redis值类型。一个Redis字符串能包含任意类型的数据,例如: 一张JPEG格式的图片或者一个序列化的Ruby对象。一个字符串类型的值最多能存储512M字节的内容。$ su

2017-08-11 17:34:10 393

原创 1、Redis简介与安装

1、Redis 简介1.1 Redis是什么REmote DIctionary Server(Redis) 是一个key-value存储系统,常被称作是一款数据结构服务器(data structure server)。Redis的键值可以包括字符串(strings),哈希(hashes)、列表(lists)、集合(sets)和 有序集合(sorted sets)等数据类型。 对于这些数据类型,你

2017-08-10 21:20:11 391

原创 最长公共子序列 与 最长公共子串

1. 问题描述最长公共子序列:常用于解决字符串的相似度,是指在母串中都出现过并且出现顺序与母串保持一致的子串,不要求连续性。 最长公共子串:是指在母串中连续出现的子串。例如: cnblogs belong 最长公共子序列为blog,最长公共子串为lo2. 动态规划——最长公共子序列假设Z=<z1,z2,⋯,zk>Z=<z_1,z_2,⋯,z_k>是母串 XX 与 YY 的最长公共子序列LCS

2017-06-23 15:56:44 426

原创 改进版---字符串中数字子串的求和

【题目】   给定一个字符串str,求其中全部数字串所代表的数字之和。 【原始要求】   1、忽略小数点字符,例如"A1.3",其中包含两个数字1和3。   2、如果紧贴数字子串的左侧出现字符’-‘,当连续出现的数量为奇数时,则数字为负数,连续出现的数量为偶数时,则数字为正数。例如,”A-1BC–12”,其中包含数字是-1和12。 【新增要求】   1、考虑这种情况,”-12-a-2c—

2017-06-13 18:20:14 424

原创 常用排序算法总结(插入、冒泡、选择、希尔、快速、归并、堆)

插入排序冒泡排序选择排序希尔排序快速排序归并排序堆排序

2017-06-08 16:47:47 576

原创 求二叉树中结点值的和为指定整数的所有路径

题目输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。class Solution {public: vector<vector<int> >all; vector<int> temp; void dfsFind(TreeNode *root, int sum){ tem

2017-05-25 14:18:10 594

原创 满二叉树中任意两个结点的公共祖先

题目有一棵无穷大的满二叉树,其结点按根结点一层一层地从左往右依次编号,根结点编号为1。现在有两个结点a,b,求出a和b点的最近公共祖先的编号。分析满二叉树的子节点与父节点之间的关系为root = child / 2 ,如果a != b,就让其中的较大数除以2, 如此循环直到a == b, 即是原来两个数的最近公共祖先。class LCA {public: int getLCA(int a,

2017-05-25 11:02:50 547

原创 输出二叉树中中序遍历中给定结点的下一个结点

题目输出二叉树中指定结点的下一个结点(即中序遍历的后继)。给定树的根结点指针TreeNode* root和结点的值int p,请返回值为p的结点的后继结点的值,若不存在后继返回-1。分析中序遍历的非递归写法。第一步:中序遍历的非递归 BTNode* p = root; stack<BTNode*> s; while (!s.empty() || p) {

2017-05-25 10:44:53 699

原创 输出二叉树某一层的所有结点

题目:给定二叉树的根结点指针以及链表上结点的深度,返回一个链表,代表该深度上从左往右所有结点的值。方法递归遍历,刚开始为深度为dep,每往下递归一层,则深度减1,当深度为1的时候,便输出那个元素,如果先递归左子树,那么则实现从左到右打印,如果先递归右子树,则实现从右往左打印。struct TreeNode { int val; struct TreeNode *left; s

2017-05-24 17:24:42 3702

原创 二叉查找树的判断

题目:给定树的根结点指针TreeNode* root,请返回一个bool,代表该树是否为二叉查找树。方法一二叉查找树中序遍历后的结果是有序的,根据这个结果,可以中序遍历二叉树,并把遍历结果存放在一个数组里面,然后判断这个数组大小是否是有序数组,如果是有序数组,则是二叉查找树,否则就不是。时间复杂度是O(N),空间复杂度O(N)。class Checker {public: vector<i

2017-05-24 17:19:56 553

原创 1.4 逆序一个栈

题目:一个栈依次压入12345,实现栈中元素逆序解法一:开辟了一个新的栈作为辅助栈,将原栈中的元素依次弹出并压入到辅助栈中,最后返回辅助栈。//逆序一个栈stack<int> reverseStack(stack<int> stackData){ //辅助栈 stack<int> temp; while(!stackData.empty()){ t

2017-05-04 19:03:31 397

原创 1.3 设计一个有getMin功能的栈

题目:实现一个特殊的栈,在栈的基本功能上,实现返回栈中最小值的操作。思路:使用两个栈,stackData存放当前栈中元素,功能与普通栈没有区别。stackMin存放每一步的最小值,若当前压栈的数据小于等于stackMin的栈顶元素,就将这个数据入栈到stackMin中。class myStack{ public: myStack(); virtual ~my

2017-04-27 14:31:31 355

原创 二叉树的最大深度和最小深度

二叉树的定义:struct TreeNode { int val; TreeNode *left; TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) {}};二叉树的最大深度给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的距离。如果二叉树为空,

2017-04-21 11:33:59 15189 1

原创 (四)运输层协议——TCP

TCP:传输控制协议,提供可靠的、面向连接的运输服务,在传送数据之前必须先建立连接(三次握手),数据传送结束后释放连接(四次挥手)。TCP不提供广播或多播服务。还包括确认、流量控制、拥塞机制、计时器等管理机制。UDP:用户数据报,不提供可靠交付,在传送数据前不需要先建立连接。1、TCP特点(1)TCP是面向连接的运输层协议,在传送数据之前必须先建立连接(三次握手),数据传送结束后释放连接(四次挥手)

2017-04-14 10:57:35 853

原创 (四)运输层协议——UDP

TCP:传输控制协议,提供可靠的、面向连接的运输服务,在传送数据之前必须先建立连接(三次握手),数据传送结束后释放连接(四次挥手)。TCP不提供广播或多播服务。还包括确认、流量控制、拥塞机制、计时器等管理机制。UDP:用户数据报,不提供可靠交付,在传送数据前不需要先建立连接。1、UDP特点(1)UDP是无连接的,减少了开销和发送数据之前的时延。 (2)UDP尽最大努力交付,但不保证可靠交付,主机不

2017-04-14 10:41:30 984

转载 C++ 4种强制类型转换

C++的类型转换符:static_cast、dynamic_cast、reinterpret_cast、和const_cast形式:class_name <type>(expression) ,其中class_name为以上4种,type是转换的目标类型,expression是要转换的值。1、static_cast 任何具有明确定义的类型转换,只要不包含底层const,都可以使用static_co

2017-04-11 18:30:09 3799

原创 迭代器(iterator)

迭代器(iterator)是一种检查容器内元素并遍历元素的数据类型。1、迭代器类型(1)每种容器类型都定义了自己的迭代器类型,如vector://定义了一个名为iter的变量,它的数据类型是由`vector<int>`定义的iterator类型。vector<int>::iterator iter;//使用迭代器读取vector中的每一个元素vector<int> ivec(10,1); //定

2017-04-11 16:40:42 492

原创 STL—vector

导入头文件#include <vector>1、定义和初始化vector<int> a ; //声明一个int型向量a vector<int> a(10) ; //声明一个初始大小为10的向量 vector<int> a(10, 1) ; //声明一个初始大小为10且初始值都为1的向量 vector<int> b(a) ; //声明并用向量a初始化向量b,a的类型必须与b一致 vector<int>

2017-04-11 16:08:44 217

原创 STL—string

同时转载另一篇《string类成员函数详解》导入头文件 #include <string>,标准库string类型表示可变长的字符序列。1、定义和初始化string s1; //默认初始化,s1为空串string s2(s1); //将s2初始化为s1的一个副本string s2 = s1; //同上string s3("val"); //将s3初始化一个字

2017-04-10 17:30:28 189

原创 const 和 static(待更新)

(一)const限定符const对象一旦创建后,其值就不能再改变,所以const对象必须初始化。注意: 默认状态下,const对象仅在文件内有效。当多个文件中出现同名的const变量时,相当于在不同文件中分别定义了独立的变量。如果想在多个文件之间共享const对象,必须在变量的定义之前加extern关键字。extern关键字: extern用于告诉编译器,存在着一个变量或者函数,若当前编译语句之

2017-04-10 16:49:53 322

原创 引用和指针(待更新)

(一)引用为一个已经存在的对象起了一个别名,通过&来实现。int val = 1024;int &refVal = val; //正确int &refVal2; //错误,引用必须初始化,并且不能被重新赋值注意: (1)引用不是对象,本身不占内存,对引用求地址,就是对目标变量求地址。 (2)引用只能绑定在对象上,不能绑定在字面值或表达式的计算结果上(const和含有继承关系的类除外),

2017-04-10 15:49:49 219

原创 基本数据类型和类型处理

1、8种基本数据类型(32位系统) byte char short int long float double boolean 1 1 2 4 4 4 8 1(字节)举例:int a=0xFFFFFFF7;char *p=(char*)&a;&a表示取a的地址,得到的指针类型应该是int *,然后将该指针类型强制转换为char *;

2017-04-10 15:21:13 397

原创 cin,cerr,clog,cout

iostream库:包含两个基础类型istream和ostream。标准库定义了4个IO对象: 1. cin,标准输入,istream类型对象。 2. cout,标准输出,ostream类型对象。 3. cerr,标准错误,输出警告和错误信息,ostream类型对象。 4. clog,输出输出程序运行时的一般信息,ostream类型对象。c++里cerr,clog,cout三者的区别

2017-04-10 11:47:44 902

原创 (三)网络层——路由选择协议RIP

内部网关协议:RIP、OSPF 外部网关协议:BGP1、工作原理 (1)路由信息协议RIP是一种分布式的基于距离向量的路由选择协议。RIP协议要求网络中每一个路由器都要维护从它自己到其它每一个目标网络的距离。 (2)RIP协议的距离也成为跳数,每经过一个路由器,跳数加1。RIP允许一条路径最多包含15个路由器,当距离等于16时相当于不可达。 (3)RIP只适用于小型互联网。2、RIP协议特点

2017-03-30 17:17:42 1928

原创 (三)网络层——网际控制报文协议ICMP

一、目的及格式网际控制报文协议ICMP(Internet Control message Protocol),允许主机或路由器报告差错情况和提供有关一场情况的报告。格式: ICMP报文作为IP数据报的数据部分,加上IP数据报的首部,组成IP数据报发送出去。 二、ICMP报文种类1、ICMP差错报告报文 2、ICMP询问报文类型: 代码:为了进一步区分某种类型中的几种不同情况。 检验和:检验

2017-03-30 15:27:53 1523

原创 (三)网络层——划分子网、子网掩码

一、两级IP地址—>三级IP地址两级IP地址的空间利用率低:一个A类网络可连接的主机数超过1000万,一个B类网络可连接主机数超过6万,但是有些网络对连接在网络上的计算机数目有限制,不能达到这样大的数值。并且两级IP地址不够灵活。二、划分子网的基本思路1、将网络的主机号借用若干位作为子网号,变为三级IP地址:IP地址 == {<网络号>,<子网号>,<主机号>}2、外部网络看不见这个网络是由多少个子

2017-03-30 11:11:40 3252

原创 (三)网络层——网际协议IP

一、网络层提供的两种服务1、面向连接:在通信的双方之间先建立一条虚电路实现可靠的传输。 2、无连接:不需要建立连接,每个分组都有终点的完整地址,可能发生丢失、错序等问题。 注意:目前因特网提供的是无连接的服务。二、网际协议IP网际协议IP是TCP/IP体系中两个最主要的协议之一。与IP协议配套的还有4个协议: 1、地址解析协议ARP 2、逆地址解析协议 3、网际控制报文协议ICMP

2017-03-28 17:20:59 1665

原创 (二)数据链路层

一、数据链路层使用的信道:1、点对点信道,一对一的通信方式 2、广播信道,一对多的广播通信方式二、数据链路层的协议数据单元——帧(Frame):数据链路层的多种协议共同遵守三个基本原则: 1、封装成帧 (1)发送端把网络层交下来的IP数据报添加首部和尾部,封装成帧接收端在收到物理层上交的比特流后,根据首尾的标记,识别帧的开始和结束,将中间的数据部分上交给网络层。 注意:每一种链路层协议都

2017-03-24 21:12:16 3034

原创 (一)计算机网络体系结构

一、计算机网络的类别1、不同作用范围的网络 (1)广域网WAN(wide area network) (2)城域网MAN(metropolitan area network) (3)局域网LAN(local area network)2、不同使用者的网络 (1)公用网(public network) (2)专用网(private network)二、计算机网络的性能指标1、速率:计算机网络

2017-03-23 18:45:28 6334 1

转载 判断第二个序列是否为第一个序列的弹出顺序

输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)class Solution {public: bool IsPopOrder(vector<

2017-03-17 14:25:08 419

原创 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字

class Solution {public: vector<int> printMatrix(vector<vector<int> > &matrix) { int row = matrix.size(); int col = matrix[0].size(); int start= 0; vector<int> resul

2017-03-17 11:35:02 475

原创 判断一个二叉树是不是另一个二叉树的子结构

输入两棵二叉树A,B,判断B是不是A的子结构。约定空树不是任意一个树的子结构class Solution { bool isSubtree(TreeNode* pRootA, TreeNode* pRootB) { if (pRootB == NULL) return true; if (pRootA == NULL) return false;

2017-03-15 21:17:31 613

原创 前N位数字能被N整除

题目:1~9的9个数字,每个数字只能出现一次,要求这样一个9位的整数:其第一位 能被1整除,前两位能被2整除,前三位能被3整除……依次类推,前9位能被9整除。枚举法:#include <iostream>#include <vector>using namespace std;bool used[10];vector<long long int> v;void dfs(int k, long

2017-03-10 15:47:52 1141

原创 和为S的两个数字 VS 和为S的连续正整数

和为S的连续正整数定义first指针指向第一个数字1,last指针指向第二个数字2;定义curSum为first-last之间数字的和;比较S与curSum的大小,若相等则打印first-last;若curSum大,则first后移;若curSum小,则last前移。#include <iostream>using namespace std;void Print(int first, in

2017-03-09 15:09:13 204

程序员面试宝典第四版

2017-01-11

编程珠玑高清pdf版

第1部分 第1章 开篇 1.1 一次友好的对话 1.2 精确的问题描述 1.3 程序实现 1.4 实现纲要 1.5 原则 1.6 问题 1.7 进阶阅读

2015-11-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除