摘要:
散列(hash)是常用的算法思想之一,在很多程序中都会有意无意地使用到。 先来看一个简单的问题:给出N个正整数,再给出M个正整数,问这M个数中每个数分别是否在N个数中出现过。 例如N=5,M=3,N个正整数{8,3,7,6,2},欲查询的M个正整数为{7,4,2},于是后者只有7和2在N个正整数中出 阅读全文
摘要:
一般来说,基本数据类型分为整型、浮点型、字符型,C++中又包括布尔型。每种类型里面又分为若干类型。下标列出基本数据类型。 1、整型 整型一般可以分为短整型(short)、整型(int)和长整型(long long),其中短整型一般用不到,此处不再赘述。下面介绍整型和长整型,其中int也可以被称为lo 阅读全文
摘要:
题目链接:1049 数列的片段和 (20 分) 这道题目刚开始采用暴力解法,果然超时了。 参考网上大神,思路是找规律(或者说是推导一个数学公式即可) 思路如下: 从数学的角度来看,假设有a(0),a(1),a(2),a(3)……a(i)……a(n-1),从通项着手,a(i)前 的所有数字的每一个可以 阅读全文
摘要:
题目链接:1045 快速排序 (25 分) 这道题目困扰我好久了。我知道自己数据结构与算法的基础知识没有掌握好。这是其中内部排序的 快速排序。 我刚开始的思路是遍历整个数组,针对每一个元素判断其是否满足主元的条件,即 当前元素大于之前元素的最大值&&当前元素小于之后元素的最小值。确定之前元素的最大值 阅读全文
摘要:
题目链接:1043 输出PATest (20 分) 这道题目很简单,遍历整个字符串,统计相应字符的个数,然后按照题目要求进行输出即可。 阅读全文
摘要:
题目链接:1042 字符统计 (20 分) 这道题目比较简单。但是需要注意: 1、题目要求统计字母不按照大小写且输出小写。 2、字符串中包含空格,所以要用getline(cin,str)操作。 3、map<char,int>中是红黑树,所以会按照第一个键值的升序排列。 1 #include <bit 阅读全文
摘要:
题目链接:1041 考试座位号 (15 分) 这道题目比较简单,建立一个结构体即可。 阅读全文
摘要:
题目链接:1040 有几个PAT (25 分) 做这道题目,遇到了新的困难。解决之后有了新的收获,甚是欣喜! 刚开始我用三个vector数组存储P A T三个字符出现的位置,然后三层for循环,根据字符次序关系, 统计PAT出现的次数。这样提交后三个测试点超时。代码如下: 1 #include <b 阅读全文
摘要:
题目链接:1039 到底买不买 (20 分) 这道题目比较简单,直接比较两个字符串即可,根据剩余字符串的情况做些简单处理即可。 阅读全文
摘要:
题目链接:1038 统计同成绩学生 (20 分) 要特别注意时间复杂度。利用a[temp]++记录指定temp值的个数。 刚开始提交运行超时,发现输入数据量较大,输入输出换为scanf和printf即可! 阅读全文