随笔分类 -  3.6字符串处理

摘要:英文题目:https://pintia.cn/problem-sets/994805342720868352/problems/994805360777347072 中文题目:https://pintia.cn/problem-sets/994805260223102976/problems/994 阅读全文
posted @ 2020-03-25 15:17 tangq123 阅读(172) 评论(0) 推荐(0)
摘要:中文版。 1080 MOOC期终成绩 1 #include<iostream> 2 #include<vector> 3 #include<unordered_map> 4 #include<algorithm> 5 #include<cmath> 6 using namespace std; 7 阅读全文
posted @ 2020-03-15 09:29 tangq123 阅读(135) 评论(0) 推荐(0)
摘要:由于给出的数可能超出 long long范围,所以不能对两数直接求和,必须模拟加法运算过程,不然最后一个测试点无法通过。 中文版。 1079 延迟的回文数 1 #include<iostream> 2 #include<algorithm> 3 using namespace std; 4 5 bo 阅读全文
posted @ 2020-03-15 08:54 tangq123 阅读(184) 评论(0) 推荐(0)
摘要:中文版 1084 外观数列 1 #include<iostream> 2 using namespace std; 3 int main(){ 4 int d,n; 5 cin>>d>>n; 6 string ans; 7 ans += d+'0'; 8 for(int i = 0; i < n-1 阅读全文
posted @ 2020-03-14 18:06 tangq123 阅读(133) 评论(0) 推荐(0)
摘要:大致题意就是找出一个L位的正整数,从中找出第一次出现的K位素数。 1 #include<iostream> 2 #include<cmath> 3 using namespace std; 4 5 bool isPrime(int n) { 6 for(int i = 2; i* i<=n; ++i 阅读全文
posted @ 2020-03-12 21:40 tangq123 阅读(155) 评论(0) 推荐(0)
摘要:没啥好说的,直接按题意来就可以了。 1 #include"iostream" 2 #include"cmath" 3 #include"algorithm" 4 using namespace std; 5 6 bool isprime(int n) { 7 if(n <=1 ) return fa 阅读全文
posted @ 2020-02-26 17:32 tangq123 阅读(122) 评论(0) 推荐(0)
摘要:hash就完事了。 1 #include"iostream" 2 using namespace std; 3 4 //由于字符本身是整数,所以用hash判断字符是否是第一次输出 5 bool hashtable[300]= {false}; 6 int main() { 7 string s1,s 阅读全文
posted @ 2020-02-26 17:30 tangq123 阅读(175) 评论(0) 推荐(0)
摘要:记录一下,用了string的erase函数,erase(起始位置,待删除元素个数),比如str.erase(0,n)表示从起始位置 0 开始删除 n 个数。 1 #include<iostream> 2 using namespace std; 3 4 int main() { 5 int m,k; 阅读全文
posted @ 2020-02-26 17:23 tangq123 阅读(159) 评论(0) 推荐(0)
摘要:倒着输出两个数的乘积,比如 101 x 100 = 10100,结果倒着为00101,先跳过高位的00,再输出101。 #include<iostream> using namespace std; int main() { int a,b; cin>>a>>b; string str = to_s 阅读全文
posted @ 2020-02-26 09:39 tangq123 阅读(132) 评论(0) 推荐(0)
摘要:题目 题意分析: 第一项 为d; 第二项 是对第一项的描述,描述形式为 第一项有1个d,所以第二项为 d1; 第三项 是对第二项的描述,描述形式为 第二项有1个d,1个1,所以第三项为d1 11; 第四项 是对第三项的描述,描述形式为 第三项有1个d,3个1,所以第四项为d1 13; 第五项 是对第 阅读全文
posted @ 2020-02-26 09:29 tangq123 阅读(200) 评论(0) 推荐(0)
摘要:比较坑,注意scanf或者cin 与 getline 之间必须 加一个 getchar(); 坑点与 1078 字符串压缩与解压 一样。 flag1 表示是否存在数字,flag2表示是否存在字母,flag3是否存在非法字符。 1 #include<iostream> 2 #include<cctyp 阅读全文
posted @ 2020-02-25 17:46 tangq123 阅读(185) 评论(0) 推荐(0)
摘要:注意点:如果输入的数是 回文数,那么无需计算,直接输出即可。 这题和 B1019数字黑洞 类似,用string处理 即可! ps:第一次做时,写了68行,第二次做时,写了38行。。。 1 #include<iostream> 2 #include<algorithm> 3 using namespa 阅读全文
posted @ 2020-02-25 16:09 tangq123 阅读(196) 评论(0) 推荐(0)
摘要:比较坑,注意scanf或者cin 与 getline 之间必须 加一个 getchar(); #include<iostream> #include<cctype> using namespace std; int main() { char c; scanf("%c",&c); getchar() 阅读全文
posted @ 2020-02-25 13:26 tangq123 阅读(255) 评论(0) 推荐(0)
摘要:#include<iostream> #include<algorithm> using namespace std; int hashtable[26] = {0};//统计各个小写字母出现次数 int cnt_alpha = 0,cnt_word = 0,MAX = -1; int main() 阅读全文
posted @ 2020-02-25 11:42 tangq123 阅读(220) 评论(0) 推荐(0)
摘要:这是我目前为止做过的最麻烦的一道题!!!真不想再碰这道题了!,关于选项的字符串处理相当麻烦!!! 坑点:错误包括 错选 和 漏选。 ps:比 B1058 选择题 麻烦一些。 #include<iostream> #include<algorithm> using namespace std; int 阅读全文
posted @ 2020-02-24 21:58 tangq123 阅读(214) 评论(0) 推荐(0)
摘要:坑点一:两个PAT的最高位求和,可能会产生进位carry,最好不要忘了 拼接上 carry。 坑点二:两个PAT的和 可能是 0,要特判输出 0。 #include<iostream> #include<algorithm> using namespace std; int main() { str 阅读全文
posted @ 2020-02-24 19:09 tangq123 阅读(149) 评论(0) 推荐(0)
摘要:这是一道排序+字符串处理的题目,难度属于PAT乙级,五题中的第三题。 分析:字典序就是字符串在字典中的顺序。例如, 1。“A”的字典序小于“a”; 2。"a"的字典序小于”b“; 3。”aa“的字典序小于”aaaa“ 4。"aaaa"的字典序小于”aab“的字典序,这里从最高位,一个字符一个字符的比 阅读全文
posted @ 2020-02-24 11:53 tangq123 阅读(172) 评论(0) 推荐(0)
摘要:坑点一:尝试输入的密码可能包含空格符,所以必须用getline(cin,str)接收一行输入; 坑点二:cin>>str 和getline(cin,str)连用时,中间必须要加getchar()吸收换行符 #include<iostream> using namespace std; int mai 阅读全文
posted @ 2020-02-24 09:49 tangq123 阅读(184) 评论(0) 推荐(0)
摘要:我经常参考别人的代码,可以学到好多有用的技巧,哈哈。 比如说这个题,我把 正确选项个数和所有选项,当成一个整体(字符串实现)看待,方便比较。 比如, 题目的正确答案由,正确选项个数 2,所有选项 a b,组成的话,即 2 a b。 学生给出的答案由,选项个数 2,所有选项 a c,组成的话,即 2  阅读全文
posted @ 2020-02-23 11:21 tangq123 阅读(162) 评论(0) 推荐(0)
摘要:这道题很好,可以作为一个简便方法,即判断基本数据类型的某数是否合法,值得回顾。 #include<iostream> #include<cstring> using namespace std; char str1[5000],str2[5000]; int main() { int n,cnt = 阅读全文
posted @ 2020-02-22 15:52 tangq123 阅读(149) 评论(0) 推荐(0)