自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 java的Arrays类

java的Arrays类里面提供了众多的static方法,这些static方法可以直接使用类名来调用要想使用Arrays类的方法,首先应该导入该类import java.util.Arrays;第一个方法:int binarySearch(type[] arr,type key),使用二分查找的方法找出key在数组arr中第一次出现的位置,因为使用了二分查找,要求数组中的元素已经按升序排序,如果数组中不含该元素,则返回值为负数。第二个方法:type[] copyOf(type[] arr,int

2020-11-13 21:20:18 174 1

原创 c++使用openssl接口的DES ECB函数来实现加密和解密操作(对待加密数据的前8个字节进行加密)

这里的配置方式和上一篇文章用openssl生成随机数的配置方式是相同的,就不进行赘述了,主要将关注点放在代码本身。ECB加密方式,是按字节进行加密的,每8个字节为一组,按组进行加密,如果加密前的明文是相同的,那么加密后的密文也是相同的,这样一来,就存在一定的问题,并且本篇博客只关注8个字节的加密,对于超过8个字节的加密没有进行考虑实现代码如下:**#include<iostream>#include<openssl/des.h> //进行DES加密using names

2020-11-13 12:47:29 1328

原创 c++使用openssl接口来生成随机数

openssl是一个用来进行加密和解密的常用接口,里面也有产生随机数的功能,接下来就来实现一下该功能产生随机数的代码十分容易,但配置过程十分繁琐,配置过程是后面实现openssl进行加密和解密操作的必不可少的一步首先应该下载openssl的资源文件,包含include,bin和lib三个文件夹,下载之后,在该三个文件夹的同等目录下创建src文件,在src文件中就可以创建vs项目了,我是使用的vs2019。如下图所示:在该位置创建项目:创建新项目完成后,写出下来下面的代码是完全没有问题的但是

2020-11-13 12:09:56 3278

原创 1099 Build A Binary Search Tree (30分)(二叉排序树)

二叉排序树是以二叉树为基础的,在熟练掌握了二叉树的基础上,二叉排序树也就不再难了题目描述如下:题目大致意思:这道题目与1064最大的不同是,1064的树结构是固定的,是完全二叉树,所以可以利用完全二叉树节点间的编号关系,而这道题目的树结构是由题目给出的,不是固定不变的。大致思路:在有1064那道题目的基础上,这道题目就相对比较容易了,可以首先根据给出的数据建立未填值的二叉树,然后对未填值的二叉树进行中序遍历,在遍历的过程中,可以将值填到二叉树中,形成二叉排序树,最后对该二叉排序树进行中序遍历即

2020-11-10 17:02:22 115

原创 1064 Complete Binary Search Tree (30分)(二叉排序树)

二叉排序树是以二叉树为基础的,在熟练掌握了二叉树的基础上,二叉排序树也就不再难了题目描述如下:题目大致意思:根据输入序列,构建一个完全二叉排序树,然后输出该完全二叉排序树的层序遍历序列。大致思路:本题目可以使用不建树的思想,因为是一颗完全二叉树,所以根节点和子节点的编号之间会存在某种对应关系,我们可以利用该对应关系。又因为是二叉排序树,所以该中序遍历是单调递增的。对输入数据进行从小到大的排序,该顺序即为二叉排序树中序遍历的顺序,使用节点间的下标关系,对二叉排序树进行中序遍历,中序遍历过程中,可以

2020-11-10 16:32:26 206

原创 1043 Is It a Binary Search Tree (25分)(二叉排序树)

二叉排序树是以二叉树为基础的,在熟练掌握了二叉树的基础上,二叉排序树也就不再难了题目描述如下:题目大致意思:给出一个二叉排序树的建立序列,建立二叉排序树,如果建立后的二叉排序树的先序序列或者该二叉排序树的镜像树的先序序列与输入序列相同,则输出YES,并且输出该二叉排序树或者对应镜像树的后续遍历序列。大致思路:这道题目对于我来说的难点在于如何建立二叉排序树,成功建立二叉排序树后,后面的工作无非就是二叉树的遍历工作。建立二叉树的代码如下:提交结果:提交的代码如下:#include<i

2020-11-09 20:07:16 209

原创 1102 Invert a Binary Tree (25分)(二叉树的遍历)

二叉树的遍历是以DFS和BFS为基础的,无非是在DFS和BFS上面的变形,熟练掌握了BFS和DFS以后,这种类型的题目也就没有什么太大的难度了题目描述如下:题目大致意思:一棵树的左右子树交换后,输出其层序遍历序列和中序遍历序列。大致思路:在录入树的节点信息时,就可以将树的左右子树进行颠倒录入,在录入的过程中完成反转。在建立二叉树时可以使用静态的方法建立,对于本道题目来说使用静态的方法更为简单。建树完成后,对该树进行广度优先遍历和递归的深度优先遍历即可。提交结果如下:提交的代码如下:#i

2020-11-05 17:28:06 222

原创 1086 Tree Traversals Again (25分)(二叉树的遍历)

二叉树的遍历是以DFS和BFS为基础的,无非是在DFS和BFS上面的变形,熟练掌握了BFS和DFS以后,这种类型的题目也就没有什么太大的难度了题目描述如下:题目大致意思:根据二叉树的中序遍历序列,给出树的后续遍历序列。大致思路:相当于给出二叉树的先序遍历序列和中序遍历序列,重新构造这颗二叉树,并且输出这颗二叉树的后续遍历序列。压栈的顺序相当于先序遍历序列,出栈的顺序相当于中序遍历序列。提交结果如下:提交的代码如下:#include<iostream>#include&lt

2020-11-05 15:22:19 148

原创 1020 Tree Traversals (25分)(二叉树的遍历)

二叉树的遍历是以DFS和BFS为基础的,无非是在DFS和BFS上面的变形,熟练掌握了BFS和DFS以后,这种类型的题目也就没有什么太大的难度了题目描述如下:题目大致意思:给出二叉树的后续遍历序列和中序遍历序列,重建二叉树后,输出二叉树的层序遍历序列。大致思路:用两个数组分别来存储树的后序遍历和中序遍历序列,使用递归的方法来从新构建一棵树,构建成功后,对该树使用队列进行广度优先遍历即可。提交结果如下:注意:在构建二叉树时,存在一个坑,一定要先计算出左子树的长度后,再进行递归,因为在存储后序

2020-11-05 14:24:07 377

原创 1106 Lowest Price in Supply Chain (25分)(树的遍历)

这种题目是重点题型,跟前面刷到的DFS和BFS有很多相同的地方,树的先根遍历对应DFS,树的层序遍历对应BFS,这种题目也有很强的规律可循,刷的多了,就会越来越得心应手了。题目描述如下:题目大致意思:这道题目和1079很像,1079那道题目是求总销售额,这道题目是求最低单价。大致思路:这道题目同样可以用BFS来做,具体的实现步骤如下面代码所示:提交结果:提交的代码如下:#include<iostream>#include<vector>#include&lt

2020-11-04 14:48:17 69

原创 1094 The Largest Generation (25分)(树的遍历)

这种题目是重点题型,跟前面刷到的DFS和BFS有很多相同的地方,树的先根遍历对应DFS,树的层序遍历对应BFS,这种题目也有很强的规律可循,刷的多了,就会越来越得心应手了。题目描述如下:题目大致意思:这道题目其实就是求树的哪一层的节点数目最多,并且输出该层的节点数目,和该层所在的层号。大致思路:这道题目涉及到层数,应该用BFS来做,具体的方法与实现步骤,如下面代码所示。提交的结果如下:提交的代码如下:#include<iostream>#include<vector

2020-11-03 21:37:39 122

原创 1079 Total Sales of Supply Chain (25分)(树的遍历)

这种题目是重点题型,跟前面刷到的DFS和BFS有很多相同的地方,树的先根遍历对应DFS,树的层序遍历对应BFS,这种题目也有很强的规律可循,刷的多了,就会越来越得心应手了。题目描述如下:题目大致意思:其实跟求树的叶子节点的带权路径长度之和是一样的,只是具体的操作细节不同而已。题目大致思路:使用BFS来做,当遍历到树的叶子节点的时候,根据其层数,得出其零售单价,根据其销量,计算出销售额即可。提交结果如下:提交的代码如下:#include<iostream>#include&

2020-11-03 21:09:44 119

原创 1053 Path of Equal Weight (30分)(树的遍历)

这种题目是重点题型,跟前面刷到的DFS和BFS有很多相同的地方,树的先根遍历对应DFS,树的层序遍历对应BFS,这种题目也有很强的规律可循,刷的多了,就会越来越得心应手了。题目描述如下:题目大致意思:给出一个带权重的树,求出从根节点到叶子节点的路径上的权重和等于给定值的路径。大致思路:这道题可以用DFS来做,具体的实现过程如下面的代码所示:提交结果:有一个测试用例未能通过,暂时放在第二轮刷题时解决。提交的代码如下:#include<iostream>#include&l

2020-11-03 17:35:57 108

原创 1004 Counting Leaves (30分)(树的遍历)

这种题目是重点题型,跟前面刷到的DFS和BFS有很多相同的地方,树的先根遍历对应DFS,树的层序遍历对应BFS,这种题目也有很强的规律可循,刷的多了,就会越来越得心应手了。题目描述如下:题目大致意思:这道题是来求树的每一层的叶子节点的数目。大致思路:这道题要用BFS来做,具体的操作详见代码。提交结果如下:提交代码如下:#include<iostream>#include<queue>#include<vector>using namespace

2020-11-03 15:57:02 141

原创 1091 Acute Stroke (30分)(经典BFS的问题)

BFS的题目可以用来求解两种经典的问题,一种是求矩阵中连续块的数量,另一种是求走出迷宫所需的最小的步数,这两种应用都有着挺明显的套路,在掌握其基本思想的基础上,可以灵活的解决相应的变形的题目题目描述如下:题目大致意思:脑子由薄片组成,MxN是一片薄片的长与宽,L是片数,T是单个中风核心的体积的阈值。//若三维矩阵中有若干个邻接的像素1,则这些像素1构成了1块中风核心。可能出现多个中风核心区域,必须满足条件:单个体积>=T,求中风核心的总体积之和。大致思路:这个题目跟算法笔记中求一个矩

2020-11-02 21:08:49 225

原创 1103 Integer Factorization(经典DFS题目)

DFS的题目有着很强的套路,在理解其递归套路的基础上可以解决很多DFS变形的题目。题目描述:题目大致意思:用K个数的P次方来表示N,K个数中可以有相同的数(K个数按从大到小的顺序排列),有可能N有多种表示方法,这时输出K个数之和最大的,如果K个数之和相等,则输出前面的数字较大的。大致思路:这个是典型的DFS的问题,可以使用递归来解决。提交结果如下:有三个测试用例未通过,暂时放在第二轮刷题时解决。提交的代码如下:#include<iostream>#include<

2020-11-02 16:10:55 136

原创 1097 Deduplication on a Linked List (25分)(链表的常见用法)

题目描述如下:提交结果如下:有一个测试用例未通过,暂时放在第二轮刷题时解决。提交的代码如下:#include<iostream>#include<string>#include<set>#include<algorithm>#include<iomanip>using namespace std;struct Node{ int address; int data; int next;};No

2020-10-31 18:22:09 130 1

原创 1074 Reversing Linked List (25分)(链表的常见用法)

这种题目属于常用的数据结构,是重点题目,熟能生巧,写的多了,自然就会更加的得心应手。题目描述如下:提交结果:有两个测试用例未通过,暂时放在第二轮刷题时解决。提交的代码如下:#include<iostream>#include<string>#include<algorithm>#include<cstdio>using namespace std;struct Node{ string address; int da

2020-10-31 16:16:11 293

原创 1052 Linked List Sorting (25分)(链表的常见用法)

这种题目属于常用的数据结构,是重点题目,熟能生巧,写的多了,自然就会更加的得心应手。题目描述如下:题目大致意思:这是一道链表排序的题目,按照结构体中存储的整数进行从小到大的排序。大致思路:用一个结构体来存储当前地址,当前数据,下一地址。使用vector结构体数组来存储输入即可,对该数组按照结构体中的当前数据变量进行排序即可。排序之后,进行一遍遍历,修改下一跳的地址。提交结果如下:有两个测试用例错误,暂时放在第二轮刷题时解决。提交的代码如下:#include<iostream&g

2020-10-31 15:42:34 217

原创 1032 Sharing (25分)(链表的常见操作)

这种题目属于常用的数据结构,是重点题目,熟能生巧,写的多了,自然就会更加的得心应手。题目描述如下:题目大致意思:有两个单词存储在链表中,链表的每个节点存贮一个字母,要求求出两个链表相交的第一个位置的地址。大致思路:这是一道静态链表的题目,因为链表的地址是一个5位数,所以可以用一个大小为99999的结构体数组来表示链表中可能出现的节点。结构体中可以设置一个整型变量flag=-1,在对第一条链表进行遍历时,将flag置为1,表示该节点在第一条链表中出现过;接下来对第二条链表进行遍历,如果碰到了fl

2020-10-31 14:47:03 167

原创 1100 Mars Numbers (20分)

这类题目是C++标准模板库的使用,是重点知识。题目描述如下:题目大致意思与大致思路:这道题目其实就是一道10进制与13进制之间的进制转换的题目,如果输入的是10进制,则将十进制转换为13进制,根据所给出的十进制的取值范围,转换为13进制后,最多只有两位,然后根据所给出的对应关系,进行转换即可。如果输入的是字符串,则根据对应关系将字符串转换成对应整数后,再转换成十进制数即可。提交结果:有两个测试用例未通过,放在第二轮刷题时解决。提交的代码如下:#include<iostream>

2020-10-30 21:21:25 113

原创 1071 Speech Patterns (25分)(map的常见用法)

这类题目是C++标准模板库的使用,是重点知识。题目描述如下:题目大致意思:输出在一个字符串中出现次数最多的单词和其出现的次数。大致思路:先对字符串进行遍历,每当遇到分割符时,就把两个分隔符之间的字符串单独拿出,使用map来统计每个字符串出现的次数即可。提交结果如下:有一个测试用例未通过,放在第二轮刷题时解决。提交的代码如下:#include<iostream>#include<string>#include<map>using namespac

2020-10-30 17:06:51 92

原创 1022 Digital Library (30分)(map的常见用法)

这类题目是C++标准模板库的使用,是重点知识。题目描述如下:题目大致意思:根据不同的条件去查询书籍的ID。大致思路:这道题目的思路很直接,使用暴力的方法应该不会超时,先试试。提交结果如下:并未超时,但是有两个测试用例未通过,放在第二轮刷题时去解决。提交的代码如下:#include<iostream>#include<vector>#include<string>#include<set>using namespace std;

2020-10-30 15:42:46 76 1

原创 1054 The Dominant Color(map的常见用法)

这类题目是C++标准模板库的使用,是重点知识。题目描述如下:题目大致意思:给出一个N*M大小的矩阵,输出其中出现次数超过矩阵容量一半的数字。大致思路:可以用map来做,在输入的过程中,统计每个数字出现的次数,在输出时,对map进行遍历,输出出现次数最多的那个数字。提交结果如下:提交代码如下:#include<iostream>#include<map>#include<cstdio>using namespace std;int main()

2020-10-30 14:50:46 131

原创 1047 Student List for Course(vector的常见用法)

这类题目是C++标准模板库的使用,是重点知识。题目描述如下:题目大致意思:这道题目跟1039那道题目是反过来的。大致思路:1039的思路逆过来即可。提交结果如下:采用的暴力的方法,有一个测试用例超时,放在第二轮刷题时解决。提交的代码如下:#include<iostream>#include<set>#include<vector>using namespace std;struct Node{ string name; s

2020-10-30 14:24:15 87

原创 1039 Course List for Student(vector的常见用法)

这类题目是C++标准模板库的使用,是重点知识。题目描述如下:题目大致意思:给出来N个学生和K门课程,然后给出选某门课程的学生姓名,最后给出N个学生的姓名,输出每个学生选的课程数和课程编号。大致思路:可以用set< string > name,来存储选某门课程的学生姓名,用vector<set< string > >来存储所有的选课信息,用vector< int >来存储某个学生选课的信息,根据输入的查询。提交结果如下:有一个测试用例运行超时

2020-10-30 13:18:00 137

原创 1063 Set Similarity(set的常见用法)

这类题目是C++标准模板库的使用,是重点知识。题目描述如下:题目大致意思:题目意思理解起来很简单,就是给出两个集合,求出两个集合的交集的长度比上两个集合的并集的长度的比例。大致思路:用个函数,来求两个集合的交集的长度和两个集合的并集的长度。提交结果如下:提交的代码如下:#include<iostream>#include<cstdio>#include<set>#include<vector>#include<iomanip&

2020-10-29 16:36:54 161

原创 1060 Are They Equal(string的常见用法)

这类题目是C++标准模板库的使用,是重点知识。题目描述如下:题目大致意思:先给出有效数字的位数,再给出两个浮点数,将两个浮点数根据有效数字的位数,转化成科学计数法的形式,如果转化之后相等,则输出YES,并且输出科学计数法表示的形式,如果不相等则输出NO,并且分别输出科学计数法表示的形式。大致思路:因为浮点数的表示范围可以达到10的100次方,只能用字符串来进行表示。这里可以使用一个小技巧,在输入字符串后,在每个字符串后面加一个小数点,可以通过寻找小数点第一次出现的位置,来确定科学计数法的幂。要

2020-10-29 15:39:45 101

原创 1056 Mice and Rice(queue的应用)

这类题目是C++标准模板库的使用,是重点知识。题目要描述如下:题目大致意思:np为老鼠的数量,ng为每组最多g个老鼠。先给出np个老鼠的重量,再给出老鼠的初始顺序(第i名的老鼠是第j号,j从0开始)。每ng个老鼠分为一组,对于每组老鼠,选出最重的那个,晋级下一轮比赛,然后依次再以np个老鼠一组分类,然后选出重量最大的。。。直到只剩下一只老鼠,排名为1.输出为老鼠的排名,这个排名是按照原输入老鼠的顺序输出的。大致思路:可以使用两个数组,分别来存储老鼠的重量和序列信息,然后按照序列信息,让对应老鼠

2020-10-29 09:41:00 65

原创 1023 Have Fun with Numbers(大整数运算)

题目描述如下:题目大致意思:就是给出一个长度不超过20位的整数(因为long long 型整数最多可以表示19位的整数,很显然在这道题中用long long会有溢出的风险),将该整数加倍后,判断是否是原来整数的一个排列,如果是,则输出Yes,如果不是,则输出No,并且在下一行中输出加倍后的整数。大致思路:用一个字符串来倒序接收输入数字,让后对两个相同的字符出串的对应位进行加法处理,注意进位,完成后会得到一个新的字符串。判断新字符串是否是原字符串的一个排列,有一个很简单的方法,可以分别对两个字符串从

2020-10-24 11:06:24 139

原创 1078 Hashing(素数)

题目描述如下:题目大致意思:这道题是用来模拟哈希表的插入,首先给出哈希表的长度,如果长度不是素数,则将长度重新设置为大于该长度的最小素数,然后给出插入数据的数量和插入数据。待插入数据%哈希表长度=插入到相应位置,输出相应位置,如果该位置已经有数了,则输出“-”。大致思路:首先判断哈希表的长度是否是素数,如果不是素数,则让哈希表长度自增,直到为素数为止,并且记录该哈希表的长度,设置一个与其等长的bool型数组用来记录哈希表相应的位置是否有数据,初始为false,表示哈希表为空,接下来对待插入数据进行

2020-10-23 10:33:43 127

原创 1015 Reversible Primes(素数)

题目描述:题目大致意思:给出整数N和基数D,如果整数N是素数,并且整数N在基数D的条件下反转后仍然是素数,则输出Yes,否则输出No。大致思路:首先判断整数N是否是素数,如果不是,直接输出No,就不用在根据基数进行转换;如果整数N是素数,则将整数N转换成D进制,反转后再转换成十进制,判断得到的数,是否为素数,如果也是素数,则输出Yes,否则输出No。提交结果如下:有一个测试用例未能通过。暂时放在第二轮刷题时解决。提交的代码如下:#include<iostream>#incl

2020-10-23 09:52:34 133

原创 1104 Sum of Number Segments(简单数学)

题目描述如下:题目大致意思:给出一个序列,按规则进行求和。大致思路:第一个数会出现序列的长度次,第二个数会出现序列的二倍的长度减一次,第三个数会出现序列的三倍的长度减二次。。。。找出规律后就比较容易了,如果使用暴力的方法,可能会超时。提交结果如下:有两个测试用例未通过,暂时留在第二轮刷题时解决。提交的代码如下:#include<iostream>#include<cstdio>#include<iomanip>using namespace st

2020-10-22 15:57:44 289

原创 1069 The Black Hole of Numbers(简单数学)

题目描述如下:题目大致意思:输入一个四位数字,先从大到小排序得到a,再从小到大排序得到b;让a-b得到一个新的数,重复上面的过程,直到得到6174或者0为止。提交结果:测试用例未能全部通过,放在第二轮刷题时解决。提交的代码如下:#include<iostream>#include<string>#include<algorithm>#include<iomanip>using namespace std;int func1(int

2020-10-22 15:31:08 174

原创 1049 Counting Ones(简单数学)

题目描述如下:题目大致意思:题目理解起来很简单,给出一个正整数,求出从1到该正整数中1出现的个数。大致思路:最简单的想法是从1到N进行遍历,累加1出现的次数即可,应该不会超出时间限制。提交结果如下:出乎意料的是有两个测试用例运行超时了,解决的方法暂时放在第二轮刷题时考虑。第一次提交运行超时时提交的代码:#include<iostream>#include<string>using namespace std;int func(int n);int main

2020-10-22 14:21:26 180

原创 1008 Elevator(简单数学)

题目大致意思:电梯刚开始位于第0层,每上升一层需要花费6秒,每下降一层需要花费4秒,如果在在某一层需要上人,停靠的时间为5秒,给出一个电梯停靠序列,计算出所需要花费的时间。大致思路:可以用一个vector数组来接收电梯停靠的序列,在对数组遍历的过程中,进行计算即可。提交结果如下:提交代码如下:#include<iostream>#include<vector>#include<cstdio>using namespace std;int main(.

2020-10-22 14:08:43 286

原创 1029 Median(双指针)

这类题目归结于常用技巧与算法,有很鲜明的套路,重在理解其规则,通常写起来不算太复杂。题目描述:题目大致意思:题目理解起来较为简单,就是输出两个从小到大排列的整数序列合并成一个整数序列后的中位数。大致思路:最容易想到的也是最直接的方法是,合并两个整数序列,并且从小到大进行排序,但是很显然这种方法在时间复杂度上来说肯定不是最优的。使用该方法的提交结果如下:可见有些测试用例耗时较长,本道题的时间限制如果在150ms的话,有些测试用例就不能够通过了。接下来考虑如何进行改进:可以使用双指针的方法,使得

2020-10-21 17:01:14 455

原创 1092 To Buy or Not to Buy(散列)

这类题目也有着常用的套路,写的多了,自然就熟悉了。题目描述如下:题目大致意思:题目可以抽象为:给出两个字符串s1和s2,如果s1中包含s2中的所有的字符,则输出yes,并且输出s1中额外的字符数量,如果s1中没有包含s2中所有的字符,则输出no,并且输出缺少的字符数量。大致思路:这道题给出的时间限制是150ms,最直观的方法是双重for循环,但这个时候一定会有测试用例超过时间限制。可以用一个大小为62的整形数组,将出现的字符用一个函数转化成整数,对应数组的下标,在对s1进行遍历的时候,将出现的

2020-10-21 14:59:08 333

原创 1084 Broken Keyboard(散列)

这类题目也有着常用的套路,写的多了,自然就熟悉了。题目描述如下:题目大致意思:这道题跟1050那道题很像,可以抽象为输入两个字符串s1和s2,输出s1-s2。大致思路:如果采用暴力的解题方法,使用两个for循环,仍然会超出时间限制,要使用散列的方法,可以使用一个长度为37的bool型数组,初始为false,对s2遍历,将bool型数组相应的位置置为true,表示该字符未失效。接着对s1进行遍历,如果s1中的字符在s2中未出现过(并且是第一次未出现),则输出该字符。提交结果:提交的代码如下:

2020-10-21 09:36:09 138

原创 1050 String Subtraction(散列)

这类题目也有着常用的套路,写的多了,自然就熟悉了。题目描述如下:题目大致意思:题目理解起来很容易,给出两个字符串,s1和s2,输出s1-s2后的字符串,如果使用暴力的方法,这道题回很简单,但时间限制为100ms,如果使用暴力的方法的话,肯定会超出时间限制。大致思路:可以使用一个大小为52的bool型散列数组,对s2中出现大写字母和小写字母进行记录,只要出现过就为true,没有出现过则为false。然后对s1进行遍历,将出现过的字母进行移除。(原先的思路错误,注意不止有大写字母和小写字母,没有认真

2020-10-20 22:22:33 242

空空如也

空空如也

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

TA关注的人

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