
pat学习
文章平均质量分 50
harkbox
时间不等人
展开
-
树学习总结
树的pat原创 2022-06-05 20:58:14 · 235 阅读 · 2 评论 -
最短路径总结
pat最短路径原创 2022-06-01 22:52:51 · 246 阅读 · 0 评论 -
pat学习之二分法复习
1.在有序的数组中查找某一个数(默认递增)int BinaryFind(vector<int> &a,int left,int right,int x){ int mid; while(left<=right) { mid=left+(right-left)/2; if(a[mid]==x) return mid; else if(a[mid]>x) { left=mid+1; } else { left=right-1;原创 2022-05-03 22:39:48 · 345 阅读 · 0 评论 -
pat学习之map复习
map的使用题型:1.题目给定数据,需要进行搜索的时候2.题目给定数据,需要进行统计的时候3.题目给定规则,自己生成数据,数据较少住:1.map需要注意的是可以用迭代器的first/second访问键和关键值2.erase删除删除迭代器位置的元素删除键位置的元素first,end删除first到end-1的元素,注意其都是迭代器3.键会从小到大进行排序1100 Mars Numbers本题注意到,最大数字到168,可以打表将所有的数字都存储下来,最后判断首位是否是数字或者字母来分开搜原创 2022-04-30 00:54:54 · 290 阅读 · 0 评论 -
pat学习之hash复习
hash题型:1.一般用于查询类的题目2.统计个数的题目1.hash最简单的例子是查询数字,记录数字出现的个数。算法笔记中对散列定义浓缩为一句话:“将元素通过一个函数转换为一个整数,这个整数唯一的代表这个元素”。,那么在查询中直接进行查询就比较方便。2.关于散列函数:(1)直接对应法(2)线性变换(很少用),在(x,y)坐标对应于一个数的时候可以用到key=x*range+y;(3)除留余数法:key=key%mod;可以覆盖0-mod这个范围的数,一般为了尽可能的覆盖范围里面的每一个数原创 2022-04-25 22:59:02 · 876 阅读 · 0 评论 -
Pat学习之进制转换复习
1.将一个Q进制的数字;转为p进制的数字应该有两步;第一步:将这个数字转为10进制;第二步:10进制转为p进制int change(int a,int q)//q进制转为10进制 { int sum=0; int p=1; while(a!=0) { int k=a%10; sum+=p*k; p=p*q; a=a/10; } return sum; } vector<int> change1(int a,int q)//将10进制a转为q进原创 2022-04-20 23:42:49 · 240 阅读 · 0 评论