自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(93)
  • 收藏
  • 关注

原创 安恒的一次月赛

easy-安恒12月月赛打开页面出现代码,unserialize,需要反序列化,正则筛选值preg_match('/[oc]:\d+:/i',$data,$matches);发现过滤了O:4这类值,用O:+4可以过滤.正常反序列化 O:4:“baby”:1:{s:4:“file”;s:8:“flag.php”;}会被过滤所以用O:+4:“baby”:1:{s:4:“file”;s:8:“fl...

2019-04-29 22:08:16 588 1

原创 webug通关攻略

webug通关攻略第一关 很简单的get注入第二关 从图片中找到有用的信息第三关 渗透网站的时候目录也很重要第四关 当遇到五位验证码的时候可以爆破第五关 头部的一个注入第六关 支付问题:用最少的钱去购买到一本书!第七关 越权第八关 csrf 管理员每天晚上10点上线第九关 url跳转 你能跳转到百度页面吗?第十关 文件下载第十一关第十二关 我忘记了系统密码第十三关 XSS第十四关 储存型xss第十...

2019-04-29 22:04:34 4293

原创 RSA加密算法

参考链接:https://www.cnblogs.com/jiftle/p/7903762.html大部分copy,选了一下。有个小错误:(3)明文加密 C≡Me(mod n) 应当是C≡M^e(mod n)公式图算法描述:(1)选择一对不同的、足够大的素数p,q。(2)计算n=pq。(3)计算f(n)=(p-1)(q-1),同时对p, q严加...

2019-02-27 22:39:11 811

原创 cin和scanf效率问题

今天刷pat一道题。。。发现了个问题,我用cin的tle,后面改了一会,就把cin改成scanf,其余什么也好像没改,就ac了。详细的可以参见https://www.byvoid.com/blog/fast-readfile。...

2018-08-21 09:23:17 375

转载 CTf工具

综合{1、CTF工具免费集:https://www.ctftools.com/down/2、聊天机器人助手:https://github.com/CylanceSPEAR/CyBot}密码学{1、培根密码在线解密:https://netair.xyz/tools/%E5%9F%B9%E6%A0%B9%E5%AF%86%E7%A0%81%E5%8A%A0%E5%AF%86%E8%A7%A3%E5%A...

2018-07-15 08:38:02 1137

原创 验证回文串

给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。说明:本题中,我们将空字符串定义为有效的回文串。示例 1:输入: "A man, a plan, a canal: Panama"输出: true示例 2:输入: "race a car"输出: false思路:用两个指针分别从左到右和从右到左做遍历。有一个坑点就是,可能有数字。。。代码:class Soluti...

2018-06-21 09:14:10 420

原创 平方数之和

给定一个非负整数 c ,你要判断是否存在两个整数 a 和 b,使得 a2 + b2 = c。示例1:输入: 5输出: True解释: 1 * 1 + 2 * 2 = 5 示例2:输入: 3输出: False思路:有点类似二分,用两个指针分别从前和后向中间走。。。代码:class Solution {public:    bool judgeSquareSum(int c) {       ...

2018-06-14 12:21:07 1373 1

原创 二叉树的层次遍历

给定一个二叉树,返回其按层次遍历的节点值。 (即逐层地,从左到右访问所有节点)。例如:给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其层次遍历结果:[ [3], [9,20], [15,7]]思路:就是用队列,只不过要记录好每的结点代码:/** * Definition for a ...

2018-06-14 11:54:45 174

原创 买卖股票的最佳时机 II

给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入: [7,1,5,3,6,4]输出: 7解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 ...

2018-06-13 09:37:01 142

原创 H指数

给定一位研究者论文被引用次数的数组(被引用次数是非负整数)。编写一个方法,计算出研究者的 h 指数。h指数的定义: “一位有 h 指数的学者,代表他(她)的 N 篇论文中至多有 h 篇论文,分别被引用了至少 h 次,其余的 N - h 篇论文每篇被引用次数不多于 h 次。"示例:输入: citations = [3,0,6,1,5]输出: 3 解释: 给定数组表示研究者总共有 5 篇论文,每篇...

2018-05-31 15:41:01 4563

原创 1比特与2比特字符

有两种特殊字符。第一种字符可以用一比特0来表示。第二种字符可以用两比特(10 或 11)来表示。现给一个由若干比特组成的字符串。问最后一个字符是否必定为一个一比特字符。给定的字符串总是由0结束。示例 1:输入: bits = [1, 0, 0]输出: True解释: 唯一的编码方式是一个两比特字符和一个一比特字符。所以最后一个字符是一比特字符。示例 2:输入: bits = [1, 1...

2018-05-30 11:50:58 1275

原创 哈夫曼译码 swustoj

哈夫曼译码 1000(ms) 10000(kb) 1570 / 3422通常要求根据给定的编码本对密文进行解码。现已给定相应字符的哈夫曼编码,要求根据编码对密文进行解码。(建立哈夫曼树以及编码、主函数等都已经给出,你只需要填写译码函数void ccode(haffnode  hafftree[],int n)即可。const int maxvalue=100;const int maxbit=10...

2018-05-22 21:46:07 2688 1

原创 两数相加 II

给定两个非空链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储单个数字。将这两数相加会返回一个新的链表。 你可以假设除了数字 0 之外,这两个数字都不会以零开头。进阶:如果输入链表不能修改该如何处理?换句话说,你不能对列表中的节点进行翻转。示例:输入: (7 -> 2 -> 4 -> 3) + (5 -> 6 -> 4)输出: 7 -> ...

2018-05-22 21:43:19 256

原创 平衡二叉树

给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。示例 1:给定二叉树 [3,9,20,null,null,15,7] 3 / \ 9 20 / \ 15 7返回 true 。示例 2:给定二叉树 [1,2,2,3,3,null,null,4,4] 1 ...

2018-05-17 13:57:12 199

原创 哈希表(开放定址法处理冲突)

哈希表(开放定址法处理冲突) 1000(ms) 10000(kb) 2237 / 5318采用除留余数法(H(key)=key %n)建立长度为n的哈希表,处理冲突用开放定址法的线性探测。输入第一行为哈希表的长度n; 第二行为关键字的个数; 第三行为关键字集合; 第三行为要查找的数据。输出如果查找成功,输出关键字所哈希表中的地址和比较次数;如果查找不成功,输出-1。样例输入131116 74 ...

2018-05-14 14:15:45 1842

原创 哈希表(链地址法处理冲突)

哈希表(链地址法处理冲突) 1000(ms) 10000(kb) 2081 / 5478采用除留余数法(H(key)=key %n)建立长度为n的哈希表,处理冲突用链地址法。建立链表的时候采用尾插法。输入第一行为哈西表的长度m;第二行为关键字的个数n; 第三行为关键字集合; 第四行为要查找的数据。输出如果查找成功,输出该关键字所在哈希表中的地址和比较次数;...

2018-05-14 13:43:31 8695 1

原创 二叉树的层平均值

给定一个非空二叉树, 返回一个由每层节点平均值组成的数组.示例 1:输入: 3 / \ 9 20 / \ 15 7输出: [3, 14.5, 11]解释:第0层的平均值是 3, 第1层是 14.5, 第2层是 11. 因此返回 [3, 14.5, 11].思路:就是利用二叉树的层次遍历。(只不过要做好标记,记录层数的改变)。代码/** * Defin...

2018-05-13 11:04:12 836

原创 删除排序数组中的重复项

给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例 1:给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。 你不需要考虑数组中超出新长度后面的元素。示例 2:给定 nums =...

2018-05-13 10:15:26 228

原创 有向图的邻接矩阵存储根计算 swustoj

有向图的邻接矩阵存储根计算 5000(ms) 10000(kb) 1744 / 2878Tags: 有向图若有向图中存在一个顶点v,从v可以通过路径到达图中其他所有顶点,那么称v为该有向图的根。假设图G采用邻接矩阵存储,求有向图的所有根。输入第一行为一个整数n,表示顶点的个数(顶点编号为0到n-1),接下来是为一个n*n大小的整数矩阵,表示图的邻接关系。输出有向图的所有根。样例输入50 1 0 ...

2018-05-05 16:07:29 751

原创 判断给定有向图是否存在回路 swustoj

判断给定有向图是否存在回路 1000(ms) 10000(kb) 1465 / 3415Tags: 图判断给定有向图是否存在回路。输入第一行为图中顶点的个数n; 第二行为途中弧度条数e;第二行为顶点信息;接着e行为e条弧依附的两个顶点。输出该图是否存在回路,是输出yes;,不是输出no。样例输入44A B C DA BA CB DC D样例输出no#include<iostre...

2018-05-05 16:05:38 3410

原创 图的按录入顺序广度优先搜索 swustoj

图的按录入顺序广度优先搜索 5000(ms) 10000(kb) 1843 / 3904Tags: 广度优先图的广度优先搜索类似于树的按层次遍历,即从某个结点开始,先访问该结点,然后访问该结点的所有邻接点,再依次访问各邻接点的邻接点。如此进行下去,直到所有的结点都访问为止。在该题中,假定所有的结点以“A”--“Z”中的若干字符表示,且要求结点的访问顺序根据录入的顺序进行访问。如果结点录入的顺序为H...

2018-05-04 19:43:15 931

原创 图的按录入顺序深度优先搜索 swustoj

图的按录入顺序深度优先搜索 5000(ms) 10000(kb) 1786 / 3307Tags: 深度优先图的深度优先搜索类似于树的先根遍历,即从某个结点开始,先访问该结点,然后深度访问该结点的第一棵子树,依次为第二顶子树。如此进行下去,直到所有的结点都访问为止。在该题中,假定所有的结点以“A”至“Z”中的若干字符表示,且要求结点的访问顺序根据录入的顺序进行访问。如果结点录入的顺序为HUEAK,...

2018-05-04 17:09:08 728

原创 邻接表到邻接矩阵 swustoj

邻接表到邻接矩阵 5000(ms) 10000(kb) 1824 / 6081假设无向图G采用邻接表存储,编写一个算法输出邻接矩阵。输入第一行为一个整数n,表示顶点的个数(顶点编号为0到n-1)。第二行表示顶点0可直接到达的顶点编号,其他行定义相同。输出输出图G的邻接矩阵。整数矩阵大小为n*n,表示图的邻接关系。数字为0表示不邻接,1表示邻接。样例输入51 3 40 2 31 3 40 1...

2018-05-01 10:40:35 1038

原创 邻接矩阵到邻接表 swustoj

邻接矩阵到邻接表 5000(ms) 10000(kb) 1834 / 4689假设无向图G采用邻接矩阵存储,编写一个算法输出邻接表。输入第一行为一个整数n,表示顶点的个数(顶点编号为0到n-1),接下来是为一个n*n大小的整数矩阵,表示图的邻接关系。数字为0表示不邻接,1表示邻接。输出输出图G的邻接表。第一行表示顶点0可直接到达的顶点编号。其他行定义相同。样例输入50 1 0 1 11 0 1...

2018-05-01 09:32:35 810

原创 合并两个有序链表

将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4思路:很简单就是二路归并的思想,时间复杂度O(n)。/** * Definition for singly-linked list. * struct ListN...

2018-04-26 20:42:37 141

原创 输出利用先序遍历创建的二叉树中的指定结点的度 swustoj

输出利用先序遍历创建的二叉树中的指定结点的度 1000(ms) 10000(kb) 1786 / 6130利用先序递归遍历算法创建二叉树并输出该二叉树中指定结点的度。约定二叉树结点数据为单个大写英文字符。当接收的数据是字符“#”时表示该结点不需要创建,否则创建该结点。最后再输出创建完成的二叉树中的指定结点的度。注意输入数据序列中的字符“#”和非“#”字符的序列及个数关系,这会最终决定创建的二叉树的...

2018-04-26 20:18:41 640

原创 输出利用先序遍历创建的二叉树中的指定结点的双亲结点 swustoj

输出利用先序遍历创建的二叉树中的指定结点的双亲结点 1000(ms) 10000(kb) 1893 / 4540利用先序递归遍历算法创建二叉树并输出该二叉树中指定结点的双亲结点。约定二叉树结点数据为单个大写英文字符。当接收的数据是字符“#”时表示该结点不需要创建,否则创建该结点。最后再输出创建完成的二叉树中的指定结点的双亲结点。注意输入数据序列中的“#”字符和非“#”字符的序列及个数关系,这会最终...

2018-04-26 16:56:39 1967

原创 输出利用先序遍历创建的二叉树中的指定结点的孩子结点 swustoj

输出利用先序遍历创建的二叉树中的指定结点的孩子结点 1000(ms) 10000(kb) 1907 / 4271利用先序递归遍历算法创建二叉树并输出该二叉树中指定结点的儿子结点。约定二叉树结点数据为单个大写英文字符。当接收的数据是字符"#"时表示该结点不需要创建,否则创建该结点。最后再输出创建完成的二叉树中的指定结点的儿子结点。注意输入数据序列中的"#"字符和非"#"字符的序列及个数关系,这会最终...

2018-04-26 16:22:48 1293

原创 堆排序算法 swustoj

堆排序算法 1000(ms) 10000(kb) 2110 / 4707编写程序堆排序算法。按照非递减排序,测试数据为整数。输入第一行是待排序数据元素的个数; 第二行是待排序的数据元素。输出一趟堆排序的结果。样例输入1050 36 41 19 23 4 20 18 12 22样例输出4 12 20 18 22 41 50 36 19 23#include<iostream>#inc...

2018-04-26 15:14:53 806

原创 二叉排序树的实现和查找 swustoj

二叉排序树的实现和查找 1000(ms) 10000(kb) 2257 / 5150按照给定的关键字集合,建立二叉排序树。在建立的二叉排序树上查找指定的关键字,查找成功,输出找到该关键字比较的次数;查找不成功,输出-1.输入关键字个数n; 关键字集合; 要查找的关键字;输出查找成功输出比较的次数,否则输出-1。样例输入1225 18 46 2 53 39 32 4 74 67 60 117...

2018-04-25 16:28:01 958

原创 输出用先序遍历创建的二叉树是否为完全二叉树的判定结果 swustoj

输出用先序遍历创建的二叉树是否为完全二叉树的判定结果 1000(ms) 10000(kb) 2007 / 4239利用先序递归遍历算法创建二叉树并判断该二叉树是否为完全二叉树。完全二叉树只能是同深度的满二叉树缺少最后一层倒数连续个叶子结点。先序递归遍历建立二叉树的方法为:按照先序递归遍历的思想将对二叉树结点的抽象访问具体化为根据接收的数据决定是否产生该结点从而实现创建该二叉树的二叉链表存储结构。约...

2018-04-25 09:39:29 1847 2

原创 折半查找的实现 swustoj

折半查找的实现 1000(ms) 10000(kb) 2334 / 9041编写程序实现折半查找算法。输入第一行是查找表的长度n第二行是查找表中的数据元素 ;第三行是要查找的数据元素的关键字.输出查找成功返回位序,不成功返回-1 ,第二行为比较的次数。样例输入115 13 19 21 37 56 64 75 80 88 92100样例输出-14#include<iostream&g...

2018-04-25 09:24:00 971

原创 利用二叉树中序及先序遍历确定该二叉树的后序序列 swustoj

利用二叉树中序及先序遍历确定该二叉树的后序序列 1000(ms) 10000(kb) 2182 / 4615已知二叉树的中序和先序遍历可以唯一确定后序遍历、已知中序和后序遍历可以唯一确定先序遍历,但已知先序和后序,却不一定能唯一确定中序遍历。现要求根据输入的中序遍历结果及先序遍历结果,要求输出其后序遍历结果。输入输入数据占2行,其中第一行表示中序遍历结果,第二行为先序遍历结果。输出对测试数据,输出...

2018-04-24 20:16:38 753

原创 利用二叉树中序及后序遍历确定该二叉树的先序序列 swustoj

利用二叉树中序及后序遍历确定该二叉树的先序序列 1000(ms) 10000(kb) 2036 / 3818已知二叉树的中序和先序遍历可以唯一确定后序遍历、已知中序和后序遍历可以唯一确定先序遍历,但已知先序和后序,却不一定能唯一确定中序遍历。现要求根据输入的中序遍历结果及后序遍历结果,要求输出其先序遍历结果。输入第一行为中序序列 第二行为后续序列输出输出为遍历二叉树得到的先序序列样例输入BFDA...

2018-04-24 19:39:32 966

原创 输出利用二叉树存储的普通树的度 swust oj

输出利用二叉树存储的普通树的度 1000(ms) 10000(kb) 2068 / 4759普通树可转换成相应的二叉树(该二叉树的根结点一定缺少右儿子),反之亦然。故而可以根据相应的转换方法去统计某一二叉树对应的普通树的度。普通树的度为其结点儿子数的最大值。相应的二叉树可利用二叉树的先序递归遍历算法创建。先序递归遍历建立二叉树的方法为:按照先序递归遍历的思想将对二叉树结点的抽象访问具体化为根据接收...

2018-04-24 08:56:23 542 1

原创 统计利用二叉树存储的森林中树的棵数 swustoj

统计利用二叉树存储的森林中树的棵数 1000(ms) 10000(kb) 2369 / 4294普通树及其构成的森林均可转换成相应的二叉树,反之亦然。故而可以根据相应的转换方法去统计某一二叉树对应的森林中树的棵数。相应的二叉树可利用先序递归遍历算法创建。先序递归遍历建立二叉树的方法为:按照先序递归遍历的思想将对二叉树结点的抽象访问具体化为根据接收的数据决定是否产生该结点从而实现创建该二叉树的二叉链...

2018-04-24 08:02:57 522

原创 输出利用先序遍历创建的二叉树的层次遍历序列 swustoj

输出利用先序遍历创建的二叉树的层次遍历序列 1000(ms) 10000(kb) 2315 / 4935利用先序递归遍历算法创建二叉树并输出该二叉树的层次遍历序列。先序递归遍历建立二叉树的方法为:按照先序递归遍历的思想将对二叉树结点的抽象访问具体化为根据接收的数据决定是否产生该结点从而实现创建该二叉树的二叉链表存储结构。约定二叉树结点数据为单个大写英文字符。当接收的数据是字符"#"时表示该结点不需...

2018-04-23 15:00:29 1512

原创 顺序表上数据的划分问题的实现 swustoj

顺序表上数据的划分问题的实现 1000(ms) 10000(kb) 2073 / 4253建立一个顺序表L,然后以第一个为分界,将所有小于等于它的元素移到该元素的前面,将所有大于它的元素移到该元素的后面。输入顺序表长度n;顺序表中的数据元素。输出移动后的数据元素。样例输入1032 5 22 43 23 56 54 57 11 25样例输出25 11 23 22 5 32 43 56 54 57...

2018-04-22 09:39:57 843

原创 利用栈完成后缀表达式的计算 swust oj

利用栈完成后缀表达式的计算 1000(ms) 10000(kb) 2114 / 4163后缀表达式不包含括号,运算符放在两个运算对象的后面,所有的计算按运算符出现的顺序,严格从左向右进行(不再考虑运算符的优先规则,如:(2 + 1) * 3 , 即2 1 + 3 *。利用栈结构,将后缀表达式的结果计算出来。输入后缀表达式。以#号作为表达式结束标志。为了简单,处理的数据为0-9的整数。输出计算结果。...

2018-04-22 08:33:42 627

原创 寻找整数序列的主元素 swustoj

寻找整数序列的主元素 1000(ms) 10000(kb) 2391 / 5680已知一个整数序列A=(a0,a1,…an),如果其中有一个元素的出现次数超过n/2,就称该元素为A的主元素,否则就称整数序列没有主元素。例如A=(0,5,5,3,5,7,5,5),则5为主元素。A=(0,5,5,3,5,1,5,7),则A中没有主元素。要求编写程序实现寻找给定整数序列的主元素,如果找到,则输出主元素。...

2018-04-22 07:49:56 2974 2

空空如也

空空如也

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

TA关注的人

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