2024-11-26 08:33:59
没有一个天才不在背后付出努力,没有一个成功不在失败之后出现。身处计算机专业,不努力就会被他人赶超,同学们,卷起来吧!
1、leetcode
英文网址:https://leetcode.com/
中文网址:https://leetcode-cn.com/
估计 leetcode(力扣)大家都很熟悉了,都被推荐烂了,很多国内外的程序员在上面刷题,难度从 Easy、Medium 至 Hard 都有,据说很多面试官都会从中挑选各种题目,号称大厂的筛码工。
我很早就知道 leetcode,但是直到准备复试闲来无事的时候才在它上面刷了点儿题找感觉,发现上面的题型覆盖很广,像线段树、滑动数组、博弈论、扫描线等都应有具有,但是好像有的测试数据有点弱?有的题好像可以悄咪咪的水过去…
当然题目都是英文的,现在也有了中文社区,两个网址我都放出来了,还是建议大家首刷英文的,锻炼一下,一举两得,毕竟如果是搞 ACM 的话,题目都是英文的…
2、牛客网
网址:https://www.nowcoder.com/link/rocky11
牛客网作为国内内容超级丰富的 IT 题库,各种东西看得我眼花缭乱,题库+面试+学习+求职+讨论 360 度无死角服务,堪称"互联网求职神器"。
它好就好在不只是一个刷题的平台,还是一个交流学习的平台,发个问题贴总有热心的大佬帮助。
3、hihoCoder
网址:https://hihocoder.com
网站的技术团队来自于原北大 POJ 的开发团队,至于 POJ 会在后面的篇章中介绍,反正膜拜就完事了。一些知名的大厂比如微软、百度、腾讯、网易等会在上面举办在线编程比赛,风格倒是和 ACM 比赛类似。
如果仅止步于此还不至于让我推荐,当初与它的结缘是因为 hihoCoder 每周有周赛,每月有月赛。周赛是一道题,题目比较难但是极有意思,可以很好地拓宽自己的解题思路,月赛就更厉害了,题目均出自北大等一流高校玩 ACM 的菊苣出题,通过这个的检验可以迅速定位到自己真实的水平,同时了解自身在解决问题过程中的不足。
这将是展示自我真实水平的绝佳机会。
4、HDU
网址:http://acm.hdu.edu.cn/
杭电(杭州电子科技大学)的 OJ 大概是国内最火的几个 OJ 之一了,大多数 ACMer 应该都知道(其实我想说所有来着),勿需多说,非常多比赛都在上面,比如每年暑假的多校联赛,朝鲜、外蒙等学校的队伍都会参加,想不知道都不可能。
5、POJ
网址:http://poj.org/
这个就是我在介绍 hihocoder 的时候提到过的 POJ(Peking University Online Judge),同样作为国内最火的几大 OJ 之一,它的建立时间更早,一些上古时期的题目也能在上面找到,同样 POJ 也很出名,也是我最早刷题的 OJ 之一。
6、Codeforces
网址:https://codeforces.com/
Codeforces 又被戏称为 CF,是一家俄罗斯的网站,当然还是用英文食用。这里的很好的比赛,很好的题目,很好的选手,简称"三好"。
CF 最吸引人的地方在于它那超级牛批的比赛系统,CF 上每个用户都拥有 Rating,也就是比赛积分,新用户默认为 1500 分,每次比赛就会在你的积分上加加减减,上面的比赛一般分为四种:Div1、Div2、Div3、Educational Codeforces Round。Div 的比赛一般是根据积分来的,每个积分段只能参加对应的 Div 的比赛,Div1的比赛是里面最难的,大佬基本都在这里。Educational Codeforces Round 则是类似 ACM 的比赛,提交之后立马出结果。
但是如果仅限这些也算不上超级,还有一个更有意思的是,CF 的比赛还提供一个 hack 功能,通俗点说就是你去看别人提交的代码,然后通过提交你想出的特殊测试用例然后找出别人代码的 bug,hack 成功则加积分,比赛更多了很多乐趣,在 hack 和反 hack 中斗智斗勇。
不过对国内来说,和俄罗斯存在时差,一般想参加比赛的话大多数要在晚上 11 点以后,按照基础的 2 个小时比赛时间,再加上 hack 和测评反馈的过程,然后再刺激一下,差不多一宿就这么交代了,不过其中的乐趣不足为外人道。如果没有时间,上面的题目还是可以自己拿来做的,题目质量超级好,很能锻炼自己。
2024-11-26 08:44:57
既然大一的同学选择计算机专业,当然少不了刷题啦!但是有很多刷题网站是免费的,同学们想知道吗?下面由我来讲讲吧。
这个网站收录了很多知名互联网公司出的算法题目,相信大一同学很熟悉了,很多同学都在这里刷题,增强对计算机基础知识掌握。它支持多种编程语言,如:Java、Ptthon、Ruby等。最常做的是算法题,目前有一千多道的题目。有专门的图文和视频讲解,方便同学们查漏补缺。也可以在个人界面查看进展,看自己的学习情况。如果出来工作笔试中,面试官会从这里抽题。刷题过程中全部会了,那么工作没有什么大问题。
一个很良心的网站,有着强大的社区,可以在线学习,带来的是清爽的体验。里面功能真是多,题量大,有涉及到A+B、WC、CTSC等。可以加入题单,方便日后复习,来弥补自己的劣势。在刷题的同时,右边的界面可以查看刷题的通过率,在会显示历史成绩,看成绩的波动。不定时会举行比赛,分为个人公开赛和团队公开赛,胜出者会有奖励。有讨论区,可以跟在线的小伙伴一起交流学习知识,感受到学习的乐趣。
被称为"互联网求职神器“,这里不只刷题,也可以求职、面试。有很多丰富的历年校招编程真题,为以后校招的笔试做好准备,热度达到上万的程度。题库质量很高,难度分为简单题、中等题、难题。都有配套的讲解,有涵盖到知识点标签,也有自测运行。个人界面有刷题统计,也有排名榜,跟小伙伴PK。也有刷题日历,你在什么时候刷题。可以筛选标签,有栈、堆、链表等,对标签做好分类,选起来真是方便!
以上我列举了三个计算机免费刷题的网站,同学们看到我写的推荐后,来收藏夹吃灰~希望同学们有时间使用这三个网站学习计算机相关知识,提高计算机专业能力,祝你们学有所成!
2024-11-26 08:38:41
作为一名信息安全的学长,本科的时候也去过不少的刷题网站来练习巩固自己的算法与程序设计,也参与过不少算法竞赛。
大一同学大部分都是刚开始接触编程,所以刷题的目的应该更倾向于学习基本变成语法。很大的一个误区就是上来就刷leetcode,连基本的语法、函数都没学会就不要去弄数据结构和算法了,下面分享一下我自己的经验:
目前市面上可以免费刷计算机题目的网站并不少,主要有leetcode、洛谷、hihocoder、牛客等。相较而言,牛客对于技术新手还是比较友好的。
一、基础学习期:定项刷知识点
大一还是处在基础学习期,还是建议从专项练习开始做起,通过一些选择题了解一些计算机的相关知识,通过多看多学多练,慢慢开始熟悉计算机的高频考点以及掌握基础知识点。
可以看到,在专项练习中有多个知识点分布,包括语法、算法、数据库、操作系统、数据结构等。这些知识点基本上也囊括了计算机所有的必备考察点,在这里你可以点开自己想要学习的知识点,然后就会随机出现10道选择题。
除了常规的练习模式,还可以邀请同专业好友进行PK,共同学习进步是一件彼此成就和开心的事情。
二、上手操练期:练习在线编程
在计算机专业学习中,除了专业知识的掌握,实际敲代码也是极为重要的,这时候牛客库中的在线编程板块就可以派上用场了。
在这里,同学们可以根据自己的学习需求选择题目的难度,完全不用担心自己做不出题目而受到打击。
另外,在线编程板块还设有题解区,遇到不会做的题目可以从题解中得到启发;多种题解方法也可以帮助你扩展自己的做题思路;讨论区板块还可以和一起做题的小伙伴沟通交流,彼此鼓励。
三、知识复习期:刷真题
牛客里面的公司真题也是很好的复习资料。互联网公司的真题大部分是选择题和编程题兼有,刷真题同时锻炼你的知识和编程操作,而这真是计算机专业的学生必须掌握的。
质而言之,计算机专业的学习是离不开刷题的,越早认识到这点,越早行动起来,就可以走在其他同学的前面。根据自己的学习能力选择合适的刷题网站,在我看来牛客是最适合新手的,不要一上来就听别人说一定要刷leetcode,打好基础才是正道!
2024-11-26 08:52:00
我打算按照菜鸡-初级-进阶-大神的顺序给大家推荐刷题网站,通通可以白嫖,大家可以根据自己的需求选取合适的学♂习网站噢,绝对不亏!
菜菜子刷题网站
对于大一
核心目的:找到coding的感觉,规范代码写法。
①Programming by Doing
以作业的形式整理的编程基础题,题目相对还是比较简单的。
②新手编程必刷50题
这是LintCode上的一份在线OJ,题目由ACM铜牌选手心编撰。
出题核心在于从基本编程知识点学起,覆盖刷题过程中最常见的算法与数据结构,主要包括基本
刷完这些题目,可以熟悉编码流程,并建立起刷题的信心,刷下来感觉还是不错的。
初阶刷题指南
如果前面的内容对你来说过于基础,那么可以来尝试下这里的网站。
核心目的:夯实算法与数据结构知识点,应付简单的面试。
①LintCode
LintCode 收集了网上一些最常见、最高频的大厂面试真题,支持中英双语。
如果你在准备计算机相关面试,在 LintCode 刷题是很有帮助的,它的每道题都有详细的解答,能帮助你更好地理解,你也可以按照算法与数据结构的知识点、按照公司类别刷题,事半功倍。
我喜欢它的一点在于页面整洁干净,没有太多花里胡哨的内容。
②洛谷
洛谷上的题目很多,还有很多的基础题,使用体验很不错。
缺点是筛选方式比较少,也没有相应的阶梯训练,但很适合时间比较充裕的同学。
③牛客网
牛客上也是有算法题库的,按照算法、SQL、shell、前端分类,还有像是公司真题和高频题等,分类比较细致,还可以刷刷面经。
④hihocoder
这个页面也比较直接,而且按照刷题频次排序,个人是比较喜欢这种比较清爽直观的页面的。
⑤LeetCode
LeetCode也是个比较出名的刷题网站了,讨论区人比较多、题目覆盖也比较全面,不过带锁的题目比较多。
进阶刷题之路
这个阶段,你应该可以搞定绝大多数的easy题,刷题对你来说已经是种习惯了,这时候核心目的是短时间冲刺。
核心目的:尽可能实现bug free,或是在最短的时间熟悉高频考点,冲刺大厂面试。
①国内外大厂高频真题
我的策略是在面试前刷目标企业的高频题、真题,快速熟悉大厂面试风格,及时查缺补漏。
这套OJ是以公司分类,采取了阶梯训练的方式,一道一道刷过去,也可以体验升级打怪的感觉,刷起来也会比较有趣。
②算法进阶80题
这是前面提到新手刷题的进阶版,覆盖了12个核心知识点,像是
③一些实用的刷题技巧
当然,除了刷题网站也要分享一些实用的刷题技巧:
1.刚开始刷题时,每道题给自己20分钟,如果想不出来就直接看答案。Why?在面试中面试官根本不可能给你这么多的时间,而且在刷题的阶段,“速通”很重要,注重效率。
2.前期,按照算法与数据结构的知识点刷题;后期,隐藏掉算法与数据结构的标签。Why?一开始刷题的时候,可以刷一种类型的题,找到这类题的出题规律。比如二分法的题有什么特征,这种题可以怎么解,但掌握套路以后就不能看着知识点刷,这样容易陷入
3.一道题,至少掌握2种解法,最好能掌握3种。Why ?一般来说可以掌握标准解法(面试常考、面试官能理解)、最优解(自行钻研、炫技)、暴力解(实在做不出来的时候还有个保守解法)
④辅助的书籍
最后,就推荐两本书吧。
大师-殿堂级
如果你想往算法精进下去,而不仅仅局限于算法面试,而是想去打比赛,成为专业的选手(如acm)的话,这些OJ会比较适合你。
①杭电OJ
可以说是国内最有名、应用最广、难度设置最为合理的OJ吧(别杠,杠就是你对)。由于很多比赛都会在上面举办,因此它也是众多大佬刷题和打比赛训练的首选,虽说页面略有点朴素,但谁让它人气高呢?
②UVa Online Judge:西班牙Valladolid大学的Online Judge,最古老也是全世界最知名的Online Judge,题库有详细的分类,题目类型非常广泛。最重要的是,题目类型属于中等,比较适合初学者刷题学习。
③北大OJ:同样是国内口碑较好,而且比较经典的OJ了。题目难度不算高,打开速度很快,适合大佬们在此切磋学习~
④Codechef
一个印度的OJ,相对于其他的刷题网站,这个网站的特点是有更多的比赛题。
最后,祝各位都能找准自己的定位!无论你将来想从事何种行业,想去什么公司,找到自己的方向最重要。不要觉得自己不行,不试一试怎么知道呢?
莫负年少好时光,现在就是最好的时候。
2024-11-26 08:46:55
力扣(Leetcode)刷算法题的平台,算法是重中之重
牛客 有很多类型的题库,还有大厂找人的真题,很值得一试