1. 51nod操作技巧
1.1 实验步骤
(1)题目中出现的数组足够大, 可以设为a[100000];(足够大);
(2)耗时问题:需要改进算法;’
1.2常见问题&解决之道
序号 | q(English) | c(中文) | w(解决之道) |
---|---|---|---|
1输出 | wrong answer | 错误的输出 | 通过测试工具发现,不要用printf{}输出其他信息 |
2输入 | error: invalid operands to binary & (have ‘int *’ and ‘int’) scanf("%d %d %d", &a &b &c); | 错误的二进制符号& | 多个变量之间需要用,连接起来 |
3(条件if-else) | if >>>else if | ##后面表示有限的分类的时候,可以有多个else if,而没有else | |
4 (switch) | duplicate varies case | ##多个case相同输出的表示 | 错误:case(1||2):printf();break; 正确 case 1: case2:printf();break; |
5 | 51node里面的 读入a, b, c三个整数(其中a< b < c) /或者a<25 | ##这些都是输入的前提,不需要进行判断 | |
6.循环 | |||
6.1 先给定n,再给定n个整数,请计算出里面所有正数的和 | ##分析:①结果sum;②循环体:n;③输入一个数;中间变量x进行引入 |
2.Leecode操作技巧
2.1 实验步骤+错误1:(数组越界)
①排序法的原理;
②注意:数组越界的问题:heap-buffer-overflow on address
需要根据界限判定需不需要限定,并考虑其他情况;
//错误示例:for(int i = 0; i< numsSize; i+=2){
if(nums[i]!=nums[i+1]){
//正确示例:
for(int i = 0; i< numsSize; i+=2){
if(nums[i]!=nums[i+1]){
}else{
once = nums[numsSize-1];
}
③对于最后没有考虑到的案例进行添加;
序号 | q(English) | c(中文) | w(解决之道) |
---|---|---|---|
1 返回值类型 | 输入输出结果不一致 | 通过题目判断,最终返回的结果是谁 | |
2输入输出 | 通常函数里面会给定参数,不需要printf(),scanf() |
来源:CSDN
作者:Pierce110110
链接:https://blog.csdn.net/Pierce110110/article/details/104002727