想说说关于在刷题网站(牛客 、C语言网、力扣)上测试样例过了但是OJ判错这档子事

目录

1.话题引入

2.在刷题过程中一些自己想说的

3.刷题时的一些小建议

4.个人感悟


1.话题引入

首先介绍一下我自己,本人是一名专科大一的学生;非计算机本专业;因为想拓宽自己的知识面和技术;于是就开始了现在C语言的学习,目前差不多已经学了三个月的样子,刚开始就有人在劝我放弃学习这门编程语言,可我不学他能给我好的工作吗??答案肯定是不能啊,专科在学历鄙视链的最底层,也是现在的现状。三个月之前我连一个最基本的Hello world都要打半天,好在现在我坚持下来了,并没有放弃学习编程。一些C语言的题也刷了不少,在这里我想问问大家,我们为什么要刷题??刷这些题有什么用??对编程能力也没有提升??我的答案肯定是都对自己有帮助,计算机是一门在做中学的学科;实践性很强。

我们现在来到正题,你们在刷题的过程中,也没有遇到如下情况(我用的是C语言网):

1.内存超时

想说说关于在刷题网站(牛客 、C语言网、力扣)上测试样例过了但是OJ判错这档子事_第1张图片

 

2.样例通过OJ判错

 想说说关于在刷题网站(牛客 、C语言网、力扣)上测试样例过了但是OJ判错这档子事_第2张图片

 

2.在刷题过程中一些自己想说的

    说的东西也不多,只是想说一说自己在做这些编程题时的感受;我已经在C语言网刷了差不多两三个星期的题了;也差不多就过了五十个题目,不多不少也就那么一点点;下图是我的刷题数据想说说关于在刷题网站(牛客 、C语言网、力扣)上测试样例过了但是OJ判错这档子事_第3张图片

那红色的部分都是我这几天提交的错误的百分比,主要是自己条件没考虑的那么到位导致错了那么多 。我说一下自己为什么会错这么多,第一个诟病自己的地方主要是太粗心了然后没注意输出格式结果就错了(输出是对的,因为少了一个百分号导致错误);然后第二个点在只为了过测试样例而忽略了其他的情况,代码需要大量情况都通用oj才能通过(不止一组测试样例,有十几组甚至更多),我举一个栗子、

题目描述:

这是一个有趣的古典数学问题,著名意大利数学家Fibonacci曾提出一个问题:有一对小兔子,从出生后第3个月起每个月都生一对兔子。小兔子长到第3个月后每个月又生一对兔子。按此规律,假设没有兔子死亡,第一个月有一对刚出生的小兔子,问第n个月有多少对兔子?

输入
输入月数n(1<=n<=44)。
输出
输出第n个月有多少对兔子。

样例输入 Copy

3

样例输出 Copy

2

大家看到这个第一反应是不是斐波那契数列,它的规律是1,1,2,3,5,8,13,21.也就是从第三个数开始,后面的数等于前面两数之和;那么有了思路就很简单了

我们直接上代码

#include 
#include 
int main()
{
	int n = 0;
	scanf("%d", &n);
	int b = fib(n);
	printf("斐波那契数列第%d位是%d", n,b);
	return 0;
}

我们测试一下,我们输入 一个  9

想说说关于在刷题网站(牛客 、C语言网、力扣)上测试样例过了但是OJ判错这档子事_第4张图片

可以看到输出 34 

这是数据小的情况,那假如说我们输入一个1600呢,是不是觉得数字非常的大,特大的那种;好,让我们看看它的输出结果

想说说关于在刷题网站(牛客 、C语言网、力扣)上测试样例过了但是OJ判错这档子事_第5张图片

 你会看到它输出的是一个英文字母,这个词在C语言中代表的意思是溢出;所以它现在这个int类型的数据装不下了,已经超过了2的三十二次方;所以我想说在数据特别大的时候不要用int类型的数据而我们应该换成long long 这样能满足大部分的情况,从而程序也就不会那么容易出bug,这是一个特别要注意的点。为什么我要举这么一个例子呢,因为大部分的错误是因为这个问题导致的,改代码的时候差点把键盘砸了(这是真的),找不到bug而又找不出原因的样子真的很苦恼,有些小伙伴自己去刷题就懂这种感受了,明明测试样例过了,为什么我的程序还是错误的呢??这个时候你就会跟我一样了,焦头烂额,找不到问题。结果是因为数据太大,说完这个问题,还有一个就是写代码的时候一定要细心啊,磨刀不误砍柴工;写代码急不得,可能因为一个变量打错了就导致整体就全错了;我给你们看看我这两天遇到的一个问题,还是一位好兄弟帮我解决的

下面是改代码的全经过

想说说关于在刷题网站(牛客 、C语言网、力扣)上测试样例过了但是OJ判错这档子事_第6张图片

 想说说关于在刷题网站(牛客 、C语言网、力扣)上测试样例过了但是OJ判错这档子事_第7张图片想说说关于在刷题网站(牛客 、C语言网、力扣)上测试样例过了但是OJ判错这档子事_第8张图片

 想说说关于在刷题网站(牛客 、C语言网、力扣)上测试样例过了但是OJ判错这档子事_第9张图片

 当时改了好几遍才发现是因为数组的下标打错字母了,我自己没发现这个问题所以一直是错的,这个地方改完差点给自己气死了。所以我们在写代码的时候一定要细心,不能在这些小细节上出问题。有些同学应该跟我一样,就知道第一时间写代码而忘记了代码的完整性;

3.刷题时的一些小建议

对于刷题的话,我个人用的是C语言网这个刷题网站,不知道有没有和我用同一个OJ的,我知道也有同学用比如牛客,洛谷,力扣,avcing等的刷题网站。首先呢牛客比较适合那些找工作的同学,如果是为了求职的话,刷力扣比较好。里面的算法题基本上很全面,都覆盖到了;如果想深入算法的学习可以用洛谷和acving这两个网站,有很多算法选手都是在这里面锻炼自己的算法水平。具体用哪个还是要各位同学自己去选择,个人还是希望各位同学根据自己的实际情况来选择网站。然后就是先刷水题,刚开始不要刷太难的题,做不出会打击自己自信心!!

  • 注意细节
  • 不要粗心
  • 多刷题
  • 多总结

4.个人感悟

(这个地方应该是灌鸡汤的),刷题已经刷了差不多一个月了,学习的非常充实,起码还没被难题难倒。这段时间实在是太痛苦了,有些题实在是太难了,自己做不出来。当然自己努力也算其中的一部分,大部分只能好好加油了,在接下来的时间我会坚持刷题,努力提升自己的编程能力,分享自己的知识和见解给大家。然后一起努力,一起成长!!

我是会敲代码的史蒂夫,很高兴遇见你!!想说说关于在刷题网站(牛客 、C语言网、力扣)上测试样例过了但是OJ判错这档子事_第10张图片

你可能感兴趣的:(c语言,leetcode,算法,数据结构)