LeetCode 热题 HOT 100_NO.4中位数

LeetCode 热题 HOT 100_NO.4中位数
分类: 其他 发布时间: 01-17 21:15 阅读次数: 0

c语言实现二分查找法

目录一.前言二.二分查找法1.什么是二分查找法2.如何用c语言来实现二分查找法三.总结一.前言假如今天我们需要在一个有序的数组中来寻找一个数的下标,就用"1,2,3,4,5,6,7,8,9"这九个数组成的数组来说,假如我们想寻找'2',那很简单我们只用从小到大开始寻找,寻找两次就完成了,但是我们想寻找'7',我们继续用从小到大挨个寻找,这就显得有点慢并且耗时长还没有效率,因此我们可以有一种全新的方法,二分查找法来解决这个问题。二.二分查找法1.什么是二分查找法二分查找
分类: 其他 发布时间: 01-17 21:15 阅读次数: 0

LeetCode刷题笔记-数据结构-day1

LeetCode刷题笔记-数据结构-day1136. 只出现一次的数字1.题目描述原题链接:136. 只出现一次的数字2.解题思路算法:位运算题目这里要求算法应该具有线性时间复杂度,而且不使用额外空间。因为只有一个元素出现一次,其余都是两次。这里可以用位运算。这里用异或运算^就行。异或运算的性质:任何数和 0 做异或运算,结果仍然是原来的数。a⊕0=aa \oplus 0=aa⊕0=a任何数和其自身做异或运算,结果是 0。 a⊕a=0a \oplus a=0a⊕a=0异或运算满
分类: 其他 发布时间: 01-17 21:15 阅读次数: 0

Java基础_集合_List与Set集合(笔记)

ListList集合概述有序集合(也称为序列),用户可以精确控制列表中的每个元素的每一个位置。用户可以通过索引访问并搜索列表中的元素与Set集合不同,列表通常允许有重复的元素特点有序:存储和取出的顺序一致可重复性:存储的元素可以重复特有方法void add(int index,E element);在此集合中指定位置插入指定的元素E remove(int index);删除指定索引的元素,返回被删除的元素E set(int index,Eelement);修改指定索引的元素,
分类: 其他 发布时间: 01-17 21:15 阅读次数: 0

LeetCode 二叉树相关Easy题 --- 二叉树

文章目录第一题: 合并二叉树解题思路:画图解析:代码实现:第二题: 二叉树的层平均值解题思路:画图解析:代码实现:第三题: 二叉树中第二小的节点解题思路:画图解析:代码实现:第四题: 叶子相似的树解题思路:代码实现:第一题: 合并二叉树LeetCode 617 : 合并二叉树描述:给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为 NULL 的节点将直
分类: 其他 发布时间: 01-17 21:15 阅读次数: 0

算法笔记——归并排序及其基础面试题

再谈归并排序在我以前的数据结构专栏中已经对归并排序做了介绍,这里我们开始先复习一下归并排序的思路与代码归并排序用到了分治的思想,将数组不断细分成小的几个区间,将每个区间排成有序后,再将大区间排为有序代码实现:(非递归实现)void _MergeSort(vector<int>&arr,int l,int m,int r);//归并操作的函数void MergeSort(vector<int>&arr){ int n=arr.size(); int
分类: 其他 发布时间: 01-17 21:15 阅读次数: 0

信息收集-网络层面(持续更新)

网络层面信息收集1,域名及子域名信息当我们拿到目标系统的域名/子域名(IP地址),我们第一件事要做的就是获取域名的注册信息。域名的DNS服务器(whois协议)域名的注册人联系信息(whois协议,站长之家whois查询)2,目标真实IP地址3,目标设备开放的端口...
分类: 其他 发布时间: 01-17 03:05 阅读次数: 0

信息收集-系统&中间件层面(持续更新)

提要:当我们收集确认了目标的网络层面信息后,下一步要确认的就是目标所使用的操作系统类型(Windows/Linux等)和中间件类型(Apache,IIS,Nginx等),不同的操作系统执行命令不同,不同中间件的功能操作也不尽相同,例如RCE(远程代码/命令执行漏洞)操作前就需要判断操作系统是什么类型。一,操作系统类型判断:操作方法一:大小写判断原理:Windows操作系统对大小写的解析是不明显的,Linux操作系统下大小写是不同的:Windows系统下搭建的DVWA靶场,大写文件名正常解析页面:
分类: 其他 发布时间: 01-17 03:05 阅读次数: 0

信息收集—数据库&开发语言层面(持续更新)

提要:信息收集中,目标网站使用的数据库类型,开发语言类型是很重要的,Sql注入和RCE等攻击手段中都需要提前了解数据库类型和使用的脚本语言。常见的数据库类型1,ACCESS(文件型数据库管理系统,不存在端口号)—小型数据库,免费2,MYSQL(3306)—中小型数据库,开源,免费3,SQLSERVER(MSSQL)(1521)—中型数据库,收费4,ORACLE(1433)—大型数据库,收费数据库类型判断方法:操作方法一:NMAP或漏洞扫描工具扫描开发端口:NMAP扫描:-V参数:显示详
分类: 其他 发布时间: 01-17 03:05 阅读次数: 0

Web安全—漏洞整体框架(持续更新)

提要:此篇文章主要总结Web安全学习中需要学习的Web漏洞及掌握漏洞需要必备的基础知识,整体会作为后续学习的提纲。Web漏洞分为两类:客户端和服务端漏洞。客户端漏洞:CSRF(跨站请求伪造):SSRF:XSS(跨站脚本攻击)服务端漏洞:SQL注入:原理:前端提交的参数值是恶意SQL语句,后端未进行过滤,被代入后端SQL语句中查询,并在数据库中执行。前后端未对参数值进行限制。目录遍历:文件读取:命令执行:XXE安全:文件上传原理:文件上传位置对上传的文件类型未进行过滤或过滤不严。
分类: 其他 发布时间: 01-17 03:05 阅读次数: 0

Web安全-Cookie&Session(持续更新)

Cookie和Session:在XSS(跨站脚本攻击中)通常Cookie和Session被使用在其中。Cookie攻击:Cookie窃取(利用难度较低)Session攻击:会话劫持(利用难度较高)作用:Cookie和Session都是用于客户端和服务端通信的凭证,都是服务端用来判断客户端身份信息的凭证Cookie和Session的区别:Cookie:存储在用户浏览器本地,存活时间较长(通常作用于中小型企业),实现起来较容易。Session:存储在服务端(会占用服务端资源),存活时间较短(通常
分类: 其他 发布时间: 01-17 03:05 阅读次数: 0

HTTP协议—x-forwarded-for&x-real-ip

HTTP协议—x-forwarded-for&x-real-ip字段提要:Web安全中,通常会需要查看HTTP数据包判断客户端攻击IP,如果客户端进行了代理设置,HTTP协议中查看到的源IP地址将会是代理的地址,不是真实的客户端地址,此时便可以通过HTTP协议中的x-forwarded-for字段和x-real-ip来进行判断。x-forwarded-for:主要用于记录代理IP,记录从客户端地址到最后一个代理服务器的所有地址x-real-ip:仅记录真实客户端IP地址举例:客户端0.0.0
分类: 其他 发布时间: 01-17 03:05 阅读次数: 0

CMake - - - updata later

CMakeLists.txt是层级包含关系,外层包含里层。project(项目名称)set(src //src为变量,自定义 ${CMAKE_CURRENT_SOURCE_DIR}/main.cpp)//生成可执行文件hellowordadd_executable(helloword ${src} //源文件)//从外部查找目录里来link_directories( //${CMAKE_SOURCE_DIR}指的是从/build前面到工程的文
分类: 其他 发布时间: 01-16 22:46 阅读次数: 0

数据结构 - 结构体/链表

// 指针Polynomial指向struct PolyNode类型struct PolyNode *Polynomial; // 定义新的类型,它的类型是指向PolyNode的结构体指针typedef struct PolyNode *Polynomial;
分类: 其他 发布时间: 01-16 22:46 阅读次数: 0

刷题日记 - 一元多项式的乘法与加法运算(链表实现)

#include<iostream>#include<vector>using namespace std;typedef struct Node* List;struct Node { int coef; int exp; List Next;};struct Node L;List Pointer;//calculate length of listint lengthRe(List Pt) { List p = Pt; int i = 0; w.
分类: 其他 发布时间: 01-16 22:46 阅读次数: 0

C++11新特性总结学习

1 nullptr主要用来弥补NULL的不足,在早期的C++中,将数字0和NULL视为等效,进而在特殊情况出现混乱,特别是在重载中容易混淆。//if NULL as 0, fun(NULL) will invoke fun(int).class Example{ void fun(int); void fun(char *)}...
分类: 其他 发布时间: 01-16 22:46 阅读次数: 0

Caffe模型详细介绍

Caffe(Convolutional Architecture for Fast Feature Embedding),是一个高效的深度学习框架,底层核心语言是C++,它支持命令行、Python和Matlab接口,它既可以在CPU上运行也可以在GPU上运行,据文献显示目前部分科技公司在尝试将Caffe模型在NPU上运行,以提高系统处理效率。Caffe的所有计算都有layer的形式表示,即接受数据,输出计算结果等。Caffe框架Model: models以Google Protocol Buff
分类: 其他 发布时间: 01-16 22:46 阅读次数: 0

程序内存分配和管理

栈区(stack):编译器自动分配与释放。存放为运行时函数分配的局部变量、函数参数、返回数据、返回地址等。其操作类似于数据结构中的栈。 堆区(heap):程序员自动分配(new或malloc),如果程序员没有释放,程序结束时可能有OS回收。其分配类似于链表。 全局区(静态区static):存放全局变量、静态数据、常量。程序结束后由系统释放。全局区分为已初始化全局区(data)和未初始化全局区(bss)。 常量区(const):存放常量字符串,程序结束后有系统释放。 代码区(coding):存放函数体
分类: 其他 发布时间: 01-16 22:46 阅读次数: 0

解析命令行参数 boost::program_options

声明:本文部分内容引自https://blog.csdn.net/morning_color/article/details/50241987,作者为:morning_color,在此感谢作者的分享。
分类: 其他 发布时间: 01-16 22:46 阅读次数: 0