经常听到一个段子说:大部分伟大的想法都死在配环境上面。
我知道对于一个新手来说,可能配运行环境要比上手写代码要难受的多。所以我就抽时间整了一些在线编程测试的网站,虽然推荐了这些网站,但是还是推荐大家平时写代码的时候在本地用IDE写。
这篇文章的意义在于:
- 工作或者考研的时候,针对特定的算法题在网站上练习;
- 一台临时电脑,没有编程环境,但是需要运行代码;
- 突然需要运行一个自己不常用的语言的代码,自己电脑上没有环境;
- 想要了解其它系统,自己安装很麻烦,用线上的系统练一下手。
下面是正文,欢迎大家补充:
1、牛客网
要说在线编程网站,肯定要提到牛客网,很多大厂的机试都是在牛客网上进行的,找工作之前,可以在上面找到以前的校招真题进行练习,想刷剑指offer、LeetCode的题也可以在上面刷,不会的题有大神在讨论区分享答案,不仅如此,计算机专业的考研/保研机考在牛客网上也能找到。自带的编译器主流的编程语言都支持(见第二个图)。
2、 LeetCode
算法刷题网站肯定绕不开LeetCode,业界一直有句话说把LeetCode上的题都刷烂熟了就可以进谷歌了。不过上面的题都是英语描述,需要一定的英语基础,还需要一定的算法基础。不过好像LeetCode也有一个中国区网站,算法题目都是中文描述的,觉得看英文费劲的同学可把中国区的网站收藏一下:https://leetcode-cn.com/problemset/all/
3、 北京大学的OJ
北京大学的Online Judge。POJ上面的题目有点老了,但好处是做的人多,经典算法题多,解题报告也多,适合上手。
4、 杭电的OJ
杭州电子科技大学的OJ。杭电OJ在近几年取代了POJ,成为是目前国内最主流的OJ。它的题目丰富,难度梯度合理,广受全国各大高校的青睐。每年也会有大大小小的比赛挂在杭电的OJ上举办,去年的亚洲区网络赛也是在这上面做的。由此可见其在国内广大ACMer心目中的地位。也正因为如此,网上hdu的解题报告也很多,适合个人进阶训练。
5、AnyCodes
Anycodes是一个在线编程的系统,用户可以随时随地,通过电脑,通过手机,平板等的浏览器,或者App访问网站,然后在线写程序代码,目前支持中英韩文三个版本,支持九种编程语言C/C /Java/Matlab/TCL/Php/Python/Perl/Ruby,不但支持语法高亮、行数显示、代码自动折叠、部分纠错,而且还支持多文件,标准输入(stdin),命令行参数和代码下载,程序可以在线运行,其中matlab程序可以输出图片。
6、 Codepad
网页界面简洁,一目了然,适合手机浏览器。且支持C,C ,D,PHP,PYTHON,Perl,Ruby等十几种编程语言,非常强大。查看执行结果时,高亮显示代码。而且不需要注册就能用。
7、Dabblet
学前端的朋友一定不能错过这个网站,特别适合新手和想尝试最新HTML5标签和CSS3样式的前端攻城师使用。Dabblet的一大特色是代码编写时可免加CSS前缀。因为,Lea Verou(工具的作者)本人就是免CSS前缀JavaScript脚本 -prefix-free的作者,Dabblet拥有此功能当然是顺理成章的事。HTML和CSS代码间的切换也很方便,点击隐藏工具栏右上方的标签即可。用户可以根据习惯,调整前端代码的预览效果,浏览器内全屏预览将新标签页中打开。
8、实验楼
实验楼不仅可以练习编程,它还是一个操作系统,除了学习写代码,还可以学习操作系统、编译原理什么的。比如想学一下linux系统,就不用再去装一个linux虚拟机了。实验楼直接提供Linux系统环境,在线就可以使用。