PAT
River_Lethe
这个作者很懒,什么都没留下…
展开
-
OJ string的额外操作
string作为一种顺序容器,除了支持insert、assign、erase、push_back、pop_back、取地址符外,还支持构造string的其他方法string s(cp,n) 从char*指向的字符数组拷贝n个字符string s(cp) 从以’\0’结尾的字符串拷贝整个字符串string s(s2,pos2,len2) 从另一个string 的pos2位置拷贝len2个字原创 2017-12-30 18:43:42 · 395 阅读 · 0 评论 -
PAT A1044 二分查找
1044. Shopping in Mars (25) 题意给出一个序列和一个定值M,要求找出和为M的子串,如果没有这样的子串,那么要求找出和大于M且和最小的子串标准输入 16 15 3 2 1 5 4 6 8 7 16 10 15 11 9 12 14 13 标准输出 1-5 4-6 7-8 11-11思路 其实这是一个求子列和的问题,不过有一些限制,不必列原创 2018-01-24 14:51:57 · 625 阅读 · 0 评论 -
OJ 如何实现一个按输入顺序排列的映射?
考虑这样一种需求: 输入若干个字符串,记录所有输入的字符串和它们出现的次数,然后按输入的次序输出结果。输入: aaa bbb aaa ccc zxc ccc输出 aaa 2 bbb 1 ccc 2 zxc 1无论map还是unordered_map都是不符合要求的,map会将键值按字典序排列,而unordered_map则是按照键值的hash值,原创 2018-01-07 15:25:19 · 411 阅读 · 0 评论 -
OJ 简单数学问题
最大公约数gcd和最小公倍数lcmgcd(greatest common divisor) 根据欧几里得算法,a、b的最大公约数与b、a%b的最大公约数相同; 任何数与0的最大公约数为它本身 因此有int gcd(int a,int b){ return !b?a:gcd(b,a%b);}lcm(lowest common multiple) 最小公倍数可原创 2017-12-29 11:21:48 · 569 阅读 · 0 评论 -
OJ之格式控制
printf及格式控制符由于性能及输出格式灵活性的考虑,OJ中更常用printf来输出基本类型输出说明符 其他进制输出整型数 八进制 %o 十六进制 %x 二进制 算法实现格式控制 sscanf和正则表达式和c++的stringstream类似,但对于筛选字符更加灵活,可以与string原创 2017-12-25 14:36:45 · 395 阅读 · 0 评论 -
PAT A1022 搜索与格式化输入
PAT A 1022 Digital Library A 1022这题主要涉及两点数据的组织及搜索格式化读入数据数据组织及搜索这题数据量大(struct Book{ int book_id,published_year; string title, author, publisher; vectorstring> key_wor原创 2018-01-14 16:05:42 · 498 阅读 · 0 评论 -
PAT A1040 最长子回文串
回文串正反看都一样的字符串称作回文串 有AA,ABA两种形式:AA 形如 xxxxAAxxxxABA 形如 XXXXABAxxxxA1040 Longest Symmetric StringGiven a string, you are supposed to output the length of the longest symmetric sub-string原创 2018-01-04 21:52:19 · 1253 阅读 · 0 评论 -
OJ 单链表
PAT中有关链表的题一般都是用顺序结构来表示,即将链表的节点储存在一个很大的数组中,数组下标就是节点的地址,节点结构中有一个next成员,储存着逻辑上下个节点的下标,用-1来表示空值。//基本的节点结构struct Node{ //数据 int data; //下个节点的坐标 int next;};考察范围无非增查删改反转这些,有一个方法可以在不破坏原创 2018-01-13 18:02:39 · 630 阅读 · 0 评论 -
PAT A1060字符串处理
处理字符串的实用函数字符串处理是PAT基础题中较难的一种,一般不涉及数据结构的知识,基础但并不容易AC,有很多边界情况要考虑。 使用字符数组的方法处理字符串非常麻烦和琐碎,使用string的函数以及STL一些与字符串有关的函数可以使问题更清晰简单 string相关函数string str = "hello world~";//#1 str.substr返回子串的拷贝string s1 = str原创 2018-01-03 17:25:20 · 497 阅读 · 0 评论 -
OJ 数据结构:树——建树
根据题目要求不同,建一颗树有以下几种方式按给定序列依次插入节点建树 适用BST按非叶节点的孩子节点信息建树 适用一般树按中序遍历序列+其他一种遍历序列建树 适用于二叉树给定序列插入建数 适用BST 如 PAT A 1043实现//这种情况适合使用 双链表 结构//因此结顶结构定义为struct Node{ int data; shared_ptr<Node> le原创 2018-01-10 22:01:58 · 2445 阅读 · 0 评论