- 博客(31)
- 收藏
- 关注
原创 力扣1442
题目给你一个整数数组 arr 。现需要从数组中取三个下标 i、j 和 k ,其中 (0 <= i < j <= k < arr.length) 。a 和 b 定义如下:a = arr[i] ^ arr[i + 1] ^ … ^ arr[j - 1]b = arr[j] ^ arr[j + 1] ^ … ^ arr[k]注意:^ 表示 按位异或 操作。请返回能够令 a == b 成立的三元组 (i, j , k) 的数目。来源:力扣(LeetCode)链接:https
2021-05-18 19:24:27 91
原创 力扣 1486
题目内容:给你两个整数,n 和 start 。数组 nums 定义为:nums[i] = start + 2*i(下标从 0 开始)且 n == nums.length 。请返回 nums 中所有元素按位异或(XOR)后得到的结果。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/xor-operation-in-an-array著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。题目可以通过简单的遍历得到结果,但算法的时间复
2021-05-14 16:49:46 139
原创 pata1054
题目pata1054题目思路建议一个从long long到int的map容器用以记录数字次数即可。参考代码#include<iostream>#include<map>#include<string>using namespace std;void pt1(string s1, map<int,string> ma1,map<...
2020-02-16 20:06:16 150
原创 pata1100
题目pata1100题目分析对数字到火星文和火星文到数字的对应关系的十字位和个位各设立一个map容器,之后对输入的分类,在转换输出即可。注意输入时要用getline,因为可能有空格。参考代码#include<iostream>#include<map>#include<string>using namespace std;void pt1(s...
2020-02-16 19:47:44 168
原创 pata1063
题目pata1063题目思路对于每一组输入的数据采取一个set容器来储存,则筛除了重复的项,之后对需要统计的两个容器里的数据从低到高遍历记录重复数字即可。参考代码#include<iostream>#include<set>using namespace std;set <int> a[50];int main(){ int n=0...
2020-02-16 11:54:18 173
原创 pata1047
题目pata1047题目思路建立课程的vector数组,对每一个输入的学生将其加入到各个具体的课程中,之后按课程即可。需要注意的是在输出前要对同一课程的所有学生排序。参考代码#include<iostream>#include<vector> #include<cstring>#include<algorithm>using na...
2020-02-15 19:48:25 154
原创 pata1039
题目pata1039题目思路建立一名字与数字对应的散列函数,对于每一个名字采取一vector变量记录其所选课程即可。参考代码#include<iostream>#include<vector>#include<algorithm>using namespace std;int hasht(char c[]);vector <int&g...
2020-02-15 18:24:42 140
原创 pata1023
题目pata1023题目思路常规题目,利用结构体存储大整数,然后遍历整数,在count数组中计数,乘以2后再次计数即可。参考代码#include<iostream>#include<cstring>using namespace std;typedef struct{ int a[100]; int len;}bgin;bool ispa(bgin...
2020-02-14 20:19:59 184
原创 pata1024
题目pata1024题目思路本题需要一个判断是否为回文数的函数和与自己倒数相加的函数,循环计算即可。参考代码#include<iostream>#include<cstring>using namespace std;typedef struct{ int a[100]; int len;}bgin;bool ispa(bgin b);bgin ...
2020-02-14 20:17:58 345
原创 pata1096
题目pata1096题目思路对于任一一n,从2开始遍历,求其连续因子最大值,注意的是,若之前已有k个连续的因子相乘,只需遍历到n的1/k次方即可。参考代码...
2020-02-14 18:30:40 145
原创 pata1049
题目pata1049题目思路对于任一数字如654321,在计算1的数量时可以将其拆分为600001-650000,650001-654000,654001-654300,654301-654320,,654321,这几部分来计算,由于高位数字均没有1,则可简化为1-600000,1-50000,1-4000,1-300,1-20,1-1,因此,可以先计算从0到9,99,999等里1的数量s[...
2020-02-13 15:30:13 155
原创 pata1088
题目pata1088题目思路分数计算的常规题目,分别计算减加乘除后输出即可,注意要采用long long变量。参考代码#include<iostream>using namespace std;typedef struct{ long long num; long long de;}fen;void pt(fen f1);int to(long long a...
2020-02-13 15:13:59 127
原创 pata1081
题目pata1081题目思路本题需要编写一个分数相加的程序,每输入一个分数相加即可。参考代码#include<iostream>using namespace std;typedef struct{ int num; int de;}fen;void sum(fen &f1,fen f2);int to(int a,int b);int main...
2020-02-13 13:28:07 141
原创 pata1008
题目pata1008题目思路简单数学题。参考代码#include<iostream>using namespace std;int main(){ int n=0,d=0,t=0,l=0; cin>>n; for(int i=0;i<n;i++) { scanf("%d",&d); if(d>l) t+=...
2020-02-12 19:35:46 135
原创 pata1069
题目pata1069题目思路将输入的数字视为一个字符串,对其排序后即可得到最大值与最小值,之后计算即可。参考代码#include<iostream>#include<algorithm>#include<cstring>using namespace std;int change(char c[]);void chi(char c[],in...
2020-02-12 13:53:08 156 1
原创 pata1029
题目pata1029题目思路题目中给出两个递增的数组,将两数组合并为一个递增数组,再求其中位数即可。参考代码#include<iostream> using namespace std;long long a[1000100],b[1000100],c[1000100];int main(){ int n=0,m=0,j=0,k=0,l=0; cin&...
2020-02-12 11:10:05 143
原创 pata1089
题目pata1089题目思路插入排序比较好辨别,首先分辨,找到第一个a[i]>a[i+1]的点,检测之后a与b是否全部相同,若相同则为插入,否则为归并。若为归并,对a从2开始进行归并,检测b已进行到何步骤,在对b进行一次排序即可。参考代码#include<iostream>#include<algorithm>using namespace std;...
2020-02-11 19:47:43 189
原创 pata1044
题目pata1044题目思路本题是求数字串连续子串之和的题目,可设置两指针begin和end及之间串之和count,依照以下思路前进:若count<m(要求),即数字不够,则end++;若m<=count<=min(当前连续和超过m的最小值),则比要求大,那么min=count,begin++,若count>m,则begin++,依此得到大于等于m的最小连续子串和mi...
2020-02-11 11:40:15 131
原创 pata1010
题目pata1010题目思路本题考虑在得到输入数据后,将已得知进制转换方式的数字转换为十进制,之后利用二分法尝试另一数据的进制,需要注意的是本题数字较大,最好设计具体数字的变量都采用long long。参考代码#include<iostream>#include<cmath>#include<cstring>using namespace st...
2020-02-10 13:12:19 269
原创 pata1085
题目pata1085题目思路本题首先对数组进行排序,然后从大到小遍历a,求解数组中大于等于a[j]/n的第一个元素,求得以该元素为最大元素的数组元素最大值。参考代码#include<iostream>#include<algorithm>using namespace std;int find(int low,int high,int a[],float ...
2020-02-09 20:48:37 181
原创 pata1093
题目pata1093题目思路本题所求的所含PAT的数量,即为每一个A左边的P的个数与右边的T的个数的乘积之和。参考代码#include<iostream>#include<cstring>using namespace std;char c[100010];int main(){ int nt=0,np=0,k=0; scanf("%s"...
2020-02-09 19:29:34 136
原创 pata1038
题目pata1038题目思路本题思路是对输入的数字进行排序,首数字小的在前,若相同则依次比较之后数字,对于某一数字为其他数字前缀的,如32与321则比较将前缀去掉后的1与32的顺序。需要注意的是输出时对于全0的情况要额外输出。参考代码#include<iostream>#include<algorithm>#include<cstring>us...
2020-02-09 13:12:21 105
原创 pata1067
题目pata1067题目思路本题思路是若0在位置t(t!=0),则将0与t对换,若0在0位置,则检测是否已有序,若无序,将0与第一个无序的数字对换,之后重复,直至有序。参考代码#include<iostream>using namespace std;void change(int p,int q,int a[],int b[]); //交换a[p]与a[q]的位置 ...
2020-02-08 20:35:51 122
原创 pat a 1037
题目pata1037题目思路题目简而言之便是从两数组中不放回的各取出一数相乘,求乘积和最大值,将两数组先从大到小排序,通符号绝对值最大的与最大的相乘,依次计算正负即可。参考代码#include<iostream>#include<algorithm>using namespace std;bool cmp(int a,int b);int main()...
2020-02-08 20:28:28 115
原创 pat a 1070
题目pata1070题目思路题目可以利用贪心算法的思想,按照单价对月饼进行排序,之后依次按单价从低到高的顺序购买。需要注意的是输入的需求量m也要用浮点型来记录,不然会有一个点无法通过,我试了好久之后看晴神的《算法笔记》才改正过来。参考代码#include<iostream>#include<algorithm> using namespace std;ty...
2020-02-07 14:19:51 108
原创 pat a 1048
题目pata1048题目思路常规散列题目,利用数组id记录数字输入情况,同时记录输入数组a,之后对a排序,从小到大进行扫描。需要注意的是对于m=2a[i]的情况要单独判断。参考代码#include<iostream>#include<algorithm>using namespace std;int h[100010]={0}; int main()...
2020-02-06 19:29:24 140 1
原创 pat a 1050
题目pata1050题目思路常规题目,利用asc码建立散列函数,输入s1,s2后记录s2中数符,之后再次输出s1。需要注意的是pat不支持gets()函数,c++时可以改为cin.getline。参考代码#include<iostream>#include<cstring>#include<cstdio>using namespace std;...
2020-02-06 13:49:32 95
原创 pat a 1041
题目pata1041题目思路常规题目,将输入数字对应id数组下标,输入结束后对输入数组从头扫描。参考代码#include<iostream>using namespace std;int id[100001]={0};int main(){ int n,i; cin>>n; int t[n]; for(i=0;i<n;i++) ...
2020-02-06 13:02:41 92
原创 pata 1092
题目pata1092题目思路常规散列题目,将字母和数字转换为对应数组,在id数组中记录数目,之后扫描所需,要对满足和不满足的额外数字分别处理。参考代码#include<iostream>#include<cstring> using namespace std;int hasht(char c);int main(){ char c[1001...
2020-02-05 21:12:45 128
原创 pata 1084
题目pata1084题目思路利用一个散列函数将每一个可能输入的元素c映射为一个数字a,建立一个数组i,第一次输入时每输入一个元素i[a]++,第二次输入时i[a]–,最后按照第一次输入的数据对数组扫描,输出i[a]不为0的元素。参考代码#include<iostream>#include<cstring>using namespace std;int i...
2020-02-05 19:46:25 141
原创 pta a 1080
PATA习题1080题目思路我在这道题里用了两个结构体学生和学校,在学校中记录了录取名单和之前录取的最低分数,最低分数用来记录等分录取(也可以通过对学生数组排序编号来实现)。编译改进第一次我用了可编程数组,发现在测试点会有段错误,后来将两个结构体数组在外面定义了就好了。还有一个疑问是在输出时我之前加了if(i<m-1) printf("\n");会在一个测试点出现格式错误,删...
2020-02-04 18:59:43 136
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人