自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(161)
  • 收藏
  • 关注

原创 Leetcode报错AddressSanitizer: heap-buffer-overflow on address

2006. 差的绝对值为 K 的数对数目 - 力扣(LeetCode) (leetcode-cn.com)解决方法:(7条消息) Leetcode报错AddressSanitizer: heap-buffer-overflow on address 0x603000000028_huihui_8的博客-优快云博客

2022-02-09 23:12:14 467

原创 LeetCode707设计链表

C++ - 结构体构造函数使用总结 - _starsky - 博客园 (cnblogs.com)结构体的构造函数创建及使用

2022-01-25 22:51:49 889 1

原创 NULL与nullptr

(3条消息) 一文搞懂 NULL 和 nullptr 的区别【C/C++面试必备】_Linux猿-优快云博客_null和nullptr有什么区别null是可以进行类型转换的,而nullptr仅可进入指针类型 (?)

2022-01-25 16:28:58 695

原创 runtime error: member access within null pointer of type ‘struct ListNode‘错误

LeetCode203错误分析:(3条消息) LeetCode:runtime error: member access within null pointer of type 'struct ListNode'错误_时间有泪-优快云博客如上述博客方法进行更改后执行错误,最后的更改方式:if(p==NULL){ return head;}while(p->next!=NULL){ if(p->next->val==val){ q=p-&g

2022-01-25 00:07:37 1901

原创 LeetCode209 长度最小的子数组

暴力解遇到的问题:1.array赋值vector容器2.三目运算符与其他运算符的优先性3.#include<limits.h>与INT_MAX INT_MIN#include<limits.h> //devc++没有这个头文件,只能使用#define强制命名class Solution {public: int minSubArrayLen(int target, vector<int>& nums) { int.

2022-01-21 18:24:38 391

原创 PAT1019_A组_General Palindromic Number(进制大于10)

当进制大于10时,处理方法:1.ABCDE...2.按两位数正常储存,如果需要详细操作,可以不使用string,而是vector<string>,这样将每个位对应数字单独出来//思路:先将进制转化,将数字储存在字符串中,字符串倒置,判断字符串是否相等#include<iostream>using namespace std;#include<algorithm>#include<string>#include<vector>

2021-12-17 00:32:21 97

原创 stack容器遇到的错误: back() called on empty queue

//特别细节的错误: back() called on empty queue//while条件处,s.empty()与s.top()==v[cnt]先后有着严格的逻辑问题//如果先判断top,即报错时的代码//会因为s可能为空,导致s.top()处出现问题//故s.empty()必须在前,同时,使用s.top()请注意栈是否为空//empty()函数,如果为空返回1//如果栈顶元素与输入情况的第一项相同,即该栈顶元素可以出栈了while (!s.empty() && s.t.

2021-12-03 22:09:51 4445

原创 vector容器使用push_back赋值后 数据仍为0

vector的push_back无法赋值?-优快云社区问题来源: 浙大数据结构2021秋 02-线性结构3 Reversing Linked List (25 分)本题同PAT1025 但1025未使用vector容器错误原因:vector<struct Node> v(n); for (int i = add; i != -1; i = Node[i].next) { v[a++] = Node[i]; //v.push_back(Node[i]); //这种.

2021-12-03 15:19:46 2584

原创 E1035 no member named ‘first‘

问题来源: Leetcode 506.相对名次猜测:对于map容器,作为容器,不使用迭代器是无法直接访问first与second但是对于属于容器内中,元素类型的pair,即使不使用迭代器也可以使用first和secondclass Solution {public: vector<string> findRelativeRanks(vector<int>& score) { string medal[3]={"Gold Medal"

2021-12-02 20:12:51 852

原创 判断两个条件矛盾关系

问题来源:PAT1089//假定真话假话的人,然后遍历判断//太强了 乘积作真假判定//该题核心: 判断两个条件是否矛盾的算法//https://blog.youkuaiyun.com/liuchuo/article/details/82560831?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522163782084516780271517348%2522%252C%2522scm%2522%253A%252220140713.1301023

2021-11-25 14:53:11 406

原创 目标位置字符截取

问题来源: PAT1091使用length()相减及substr函数,从目标位置取字符串int mul = n * k * k;string smul = to_string(mul), sk = to_string(k);string smulend = smul.substr(smul.length() - sk.length());if (smulend == sk) {printf("%d %d\n", n, mul);flag = 1;break;}...

2021-11-24 21:42:56 69

转载 vector<int> v 与 vector<int> v(n) 的区别

问题来源: PAT1090 全部段错误本错误同 out of subscript string即字符串未初始化,强行使用数组下标访问形式(9条消息) vector<int> v 与 vector<int> v(n) 的区别_JCjunior的博客-优快云博客

2021-11-24 20:54:23 404

原创 unsigned int - int情况

问题来源:PAT1094问题错误表现: 无法正确跳出循环,即延长了循环次数,从而造成结果错误//测试点4://num是string类型的,而num.size()返回的是unsigned int类型的数,//当L < K时,数学上差值为负数,但是无符号的num.size() - K得到的是极大的正数,所以会继续循环造成错误#include<iostream>#include<string>#include<cmath>using na...

2021-11-23 20:52:21 496

原创 map与vector排序

问题来源: PAT1095 B组map有key和value两个可作比较的数值map中的元素是pair类型对象,每个pair类型由关键字—值(key-value)组成:关键字起到索引的作用,值则表示与索引相关联的数据。字典是一个很好的map例子,可以将单词作为关键字,将单词释义作为值。map使用的底层数据结构为一颗红黑树(红黑树是一颗高度平衡二叉排序树),因为map的各种操作接口,RB-Tree也都提供了,所以几乎所有的map操作行为,都只是转调用了RB-Tree的操作行为而已。TB-Tree中的

2021-11-23 15:06:15 1331

原创 c++ string 字符大小写的转换

问题来源: PAT1085(8条消息) c++ string 字符大小写的转换_Li_zhonglei的博客-优快云博客_c++ string字符串大小写转换

2021-11-22 19:31:40 643

原创 判断单个字符是否为字母或者数字

两个有趣的函数isalpha(输入字符是否为字母)和isdigit(输入字符是否为数字)

2021-11-21 22:27:02 169

原创 结构体与模板与数组的选择

问题来源: PAT1080自己有空再写一遍吧,转自(7条消息) PAT 1080 MOOC期中成绩(25分)用STL+C++详细解读最后一个测试点(博&人&)_博&人&的博客-优快云博客#include<iostream>#include<string>#include<vector>#include<map>#include<algorithm>using namespace std;//一

2021-11-21 20:28:02 371

原创 四舍五入两种写法

//四舍五入的两种写法:cout << round(sum) << endl;cout << int(sum + 0.5) << endl;其中,round函数头文件为#include<cmath>问题来源: PAT1077

2021-11-21 00:00:01 459

原创 目前在PAT常遇见的错误

#include<iostream>using namespace std;#include<string>int main() { string jinz; cin >> jinz; int len = jinz.length() - 1; string h1, h2; cin >> h1 >> h2; int jinw = 0; string h; //char ans[1000]; 可以正常运行,但stri...

2021-11-19 22:42:55 641

原创 string类型的加法问题

问题来源: PAT1074#include<iostream>using namespace std;#include<cmath>int main() { string a1 = "123"; string a2 = "123"; for (int i = 0; i < 2; i++) { a1 = a1 + '0'; a2 = '0' + a2; } cout << "(0在后) a1 = " << a1 <&lt

2021-11-19 22:30:06 600

原创 map容器在数组中元素判断的应用

PAT1068PAT1069两道题是两种不同的应用1069提供了string作为下标,int类型为判断值的可能

2021-11-18 22:19:12 476

原创 求三个数最小公倍数

//求三个数最小公倍数#include<iostream>using namespace std;//辗转相除法,先求最大公约数,在让两数之积除以ret,得最小公倍数int gcd(int a, int b) { //不需要判断大小,如果使用递归计算 //if-else写法 /*if (a % b == 0) { return b; } else { gcd(b, a % b); }*/ //三目运算符写法: return !b ? a : gcd(b, a %.

2021-11-16 16:08:37 1544

原创 PAT1060爱丁顿数_乙级

(4条消息) 1060 爱丁顿数 理解与踩坑分析以及测试点分析_zihao_cui的博客-优快云博客_爱丁顿数//面临问题://1.vector容器数组输出方式是?//2.Greater函数只可以传入一个参数吗?//3.vector容器对于sort函数的cmp自定义函数格式是?#include<iostream>using namespace std;#include<algorithm>#include<vector>int cmp(int a

2021-11-15 22:42:25 384

原创 关于int与string类型运行速度(PAT C++)

问题来源: PAT1059本题先使用的string类型进行判断和循环,测试点1,2超时#include<iostream>using namespace std;#include<cmath>#include<string>bool Is_Sushu(int num) { if (num == 1) { return false; } for (int i = 2; i * i <= num; i++) { if (num % i =

2021-11-15 19:15:16 533

原创 输入格式内含有其他字符

例题:PAT1058比如输入(2 a b c)对于2 使用 scanf("(%d",&num);即使2是第一个输入对于后面的字符,如果输入格式没有主动输入符空格,那么会将空格读入&c中故需要加上一个主动输入的空格,或者用getchar()吃掉多余空格显然,对于本题,主动输入的c语言更方便scanf(" %c",&c);主动输入符可以看作空格,区别是空格可以不被输入,但主动输入法必须被输入...

2021-11-15 17:12:50 426

原创 整形转换字符串/reserve倒置/count查找字符个数/大小写转换_PAT1056_B组

(1条消息) 【C++】统计string里面出现的字符的个数(使用count函数)_DZT2727的博客-优快云博客(1条消息) C语言实现大小写转换的三种方法_Zidane_2014的专栏-优快云博客_大小写转换c语言倒置函数reverse的用法 - Ritchie丶 - 博客园 (cnblogs.com)(1条消息) C++ 整形和字符串之间的转换_踏雪博客-优快云博客_c++整型转字符串stoi用来转化string的,atoi转化的是char[]c++的atoi和stoi一些

2021-11-14 21:45:23 127

原创 c++运行错误: string subscript out of range

string不知上界,故可能引发报错PAT1057 B组//char two[10000];//string two = new string[100];string two;int i = 0;while (sum != 0) { two[i++] = sum % 2 + '0'; sum /= 2;}

2021-11-14 21:40:19 14381

原创 处理类型不同但关系对应的两组数(两组数按不同要求排序)

如题,两组数关系不可打乱,且要达到排序要求问题来源:PAT1055 B组 集体照如何让身高与姓名联系起来,排序后也不会切断二者联系?显然,不能使用数组原因如下:首先,如果将二者统一在一个数组内,string与int会矛盾其次,如果用两个数组分别处理,排序完一个后,另一个再使用for循环与排序完成的数组进行对应,那么在处理有相同数据(即本例的姓名相同情况)时,会很麻烦可以使用结构体来处理并通过sort函数的自定义函数来将姓名和身高同时比较一个cmp函数,可以同时声明身高与姓

2021-11-14 16:26:14 468

原创 PAT1054_乙级_求平均值(测试点3情况归纳及inf问题)

这里出现错误结果inf是因为分母为0测试点2: number与numbes测试点3:(1) 123.可以正常输出,但.123不行(2) 0001可以正常输出,-0.也可以,-0111.也可以(3) 测试点3还测试了合法范围:别只判断整数,小数也不能超,即1000.01不可以被输出感觉这题用c++模板函数会很好写,比如stod函数,substr函数等#include<iostream>using namespace std;#include&lt...

2021-11-13 22:42:23 696

原创 substr函数基本用法

C++中substr()函数用法详解_Artorias的博客-优快云博客_c++ substr这位大神写的很棒!

2021-11-13 21:55:02 374

原创 stod/stoi 函数基本用法及与atof函数的对比

stoi函数: 将string类型转换成int类型的函数stod函数: 将string类型转换成double类型的函数stoi - C++ Reference (cplusplus.com)stod - C++ Reference (cplusplus.com)两个函数的共同特性:1.会自动截取所需要的类型数值2.遇到非数字,截取停止,即使后面有数字也不会继续读取了实操的测试代码:#include<iostream>using namespace std;#

2021-11-13 21:47:48 17287

原创 c++中find函数的基本用法

问题出自:PAT B组 1053测试代码:#include<iostream>#include<algorithm>using namespace std;int main() { int arr[5] = { 0,1,2,3,4 }; int* pos; //find的返回值是指针类型!!! cout << "数组首地址解引后数据: " << *arr << endl; cout << "数组首地址+2后的地

2021-11-13 14:18:31 5428

原创 c++小数保留(setprecision(n))与浮点型整形运算的相关

测试代码:#include<iostream>using namespace std;#include<iomanip>int main() { double ans1; double ans2; double ans3; int a, b; cin >> a >> b; ans1 = a / b; ans2 = a / b * 1.0; ans3 = a * 1.0 / b; cout << "正常输出:" <

2021-11-12 19:58:35 429

原创 PAT1052_乙级_卖个萌

本题考查字符串,字符及相关输入操作1.输入数据带有干扰项(即不会用于接下来操作)如本题输入格式为[<] 其中, [ 与 ] 即干扰项第一次的错误尝试:使用cout将[]输出于屏幕 错误原因: 注意,[ ]是输入项所,cout提取输出没有解决问题cout << '[';cin >> str[i];cout << "] ";第二次的错误尝试:使用c语言的scanf函数(scanf可以带特定字符输出)错误原因:scanf("...

2021-11-12 01:49:47 512 1

原创 PAT1051_乙级_负数乘法

本题遇到问题:保留两位小数命令在特殊情况的表现即比如: a = -0.001 在经历代码:#include<iomanip>cout<<fixed<<showpoint<<setprecision(2)<<a<<endl;后,将进行保留两位小数的操作此时,a将变成-0.00从而引发测试点2和3的报错正确代码:#include<iostream>using namespace st.

2021-11-11 15:30:48 104

原创 PAT1050_乙级_螺旋矩阵

这道题折腾了好久,最后发现不是二维矩阵的相关问题,而是一个很简单的小问题接下来为列出遇到的各种问题,并逐个分析本题涉及的新知识点:1.关于c语言函数在c++中的调用(头文件)#include<cstdio>cstdio: 将stdio.h的内容用c++的头文件形式表现出来标准输入输出:standardbuffered intput&&output2.二维数组的动态建立与快速排序动态建立:先创建二维指针,并申请第一维的动态空间(所申请空间储存的.

2021-11-11 00:00:44 277

原创 c++ 二维数组的动态建立_new函数

(17条消息) C++用new创建二维数组的方法_南加无雨-优快云博客_c++new二维数组这位博主的blog前两种方法,均使二维数组的某一维为常量如果需要二维均为变量,动态规划,这位博主借助了vector容器新的改进:不需要使用vector容器,正常声明 //创建二维指针,并为'行'申请a个(储存int*类型变量的)动态内存空间 int** num = new int* [a]; for (int i = 0; i < a; i++) { //完善'行'

2021-11-10 01:04:15 536

原创 PAT1049_乙级 数列的片段和

两个知识点: long double问题 与 c++中保留小数点后位数 #include<iomanip>暴力解测试点2和3会超时#include<iostream>#include <iomanip>using namespace std;int main() { int n = 0; cin >> n; double* num = new double[n]; for (int i = 0; i < n; i++) { c

2021-11-09 21:21:08 314

原创 PAT_乙级_1048_数字加密

#include<iostream>using namespace std;#include<algorithm>int main() { //本题输入数值较大,故使用字符串进行计算 //本题可以提前将A与B的字符串分类,使用函数封装思想,可以精简算法 //或者提前将字符串补齐,因为无论是否补位,基本上的B-A与奇偶问题是不变的 //不要总想着分类,考虑是否可以将问题归一 //很多题都是因为强行分类,导致题目变得复杂 //处理字符串问题,使用c++更为方便.

2021-11-09 00:17:57 77

原创 E0413: 不存在从 “std::string“ 到 “const char *“ 的适当转换函数

问题来源:PAT乙级1048string A, B;cin >> A >> B;if(strcmp(A,B)<0){}//错误代码: E0413: 不存在从 "std::string" 到 "const char *" 的适当转换函数错误原因:E0413: 不存在从 "std::string" 到 "const char *" 的适当转换函数if(strcmp(A,B)<0){}即在c++中,对于string型不可以使用strcmp()函数

2021-11-08 21:23:05 6520

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除