在线题库整理及一些刷题注意事项

news2024/9/28 7:26:26

在线题库整理及一些刷题注意事项

  • 刷题站
    • CSDN
      • 编程语言支持
    • LeetCode
      • 编程语言支持
      • 数据库语言支持
    • 牛客网
      • 编程语言支持
      • 数据库语言支持
    • 洛谷
      • 编程语言支持
    • AcWing
      • 编程语言支持
    • 蓝桥
      • 编程语言支持
  • 做题的两种模式
    • 调用模式
    • 委托模式
  • 注意事项
  • 小结

刷题站

老顾一个人单打独斗太久了,与现在的发展严重脱节了,在今年又一次活跃起来的时候,发现天下大变。先是各种人工智能产品大爆发,gpt 之类的东西充斥眼球。然后发现以前不算大众的各种算法出现了很多很多题库网站。好家伙,老顾是被吓的一个激灵啊。赶紧跑起来,追随一下现在的潮流。人工智能咱学历低,玩不明白,算法题的话,老顾还是有信心去试试水的。于是就了解了一下现在都有哪些站可以刷题。

CSDN

第一个自然是CSDN啦,老顾是这里的忠实用户,他的题库倒是没有完全放开,从csdn学习进入,点开每日一练就可以做题了,每天刷新三个。听说,可以自己按题号变更。咱也没试过,不知道怎么搞。而且,C站这个,并不支持手机写代码。

编程语言支持

支持的语言种类不多:

Java,C,C++,C#,Python3,go,JavaScript(V8)

LeetCode

第二个是 leetcode ,偏重算法的一个题库。
在这里插入图片描述

编程语言支持

算法编程部分,支持的语言种类很多哦:

C++,Java,Python,Python3,C,C#,JavaScript,Ruby,Swift,Go,Scala,Kotlin,Rust,PHP,TypeScript,Racket,Erlang,Elixir,Dart

老顾只会少少的几个。。。。

数据库语言支持

数据库部分,也有几个不同的环境支持:

MySQL,MS SQL Server,Oracle

Shell 和多线程,只有少少的几个题,期待以后得扩充。(虽然老顾完全没见过,还不知道会不会做)

牛客网

牛客网,也是在问答里,有小伙伴提到了,老顾才知道这么个站。
在这里插入图片描述

编程语言支持

他这里就分的比较细了,算法编程支持的语言也不少:

Java,C++,Go,Python3,C,C#,JavaScript Node,TypeScript,Python2,PHP,Swift,Kotlin,Scala,Rust,Ruby,Groovy

数据库语言支持

然后是SQL篇,这个就仅仅支持 MySql 了。

python 篇老顾看不到,要会员了。。。

这里的内容,老顾觉得语法篇最适合刚学编程的人来刷一刷,可以加深语法的印象。
在这里插入图片描述

洛谷

最近老顾新认识的大佬,问哥就喜欢用洛谷刷题,咱也没刷过,就随便逛逛。

在这里插入图片描述
嗯。。。看洛谷自己的介绍,也是偏重算法的
在这里插入图片描述

编程语言支持

然后进去看了看语言支持:

Pascal,C,C++14 (GCC 9),C++98,C++11,C++14,C++17,C++20,Python 3,PyPy 3,Java 8,Rust,Go,Haskell,Kotlin/JVM,Scala,C# Mono,Node.js LTS,PHP,Ruby,Perl

我就直呼好家伙,pascal 啊,多古老的语言了,还有就是 c# 后边怎么还有个 Mono?

AcWing

这是问哥介绍的,AcWing也是专注算法的,连个分类都没有。
在这里插入图片描述

编程语言支持

支持的语言不多,和CSDN有一拼了:

C++,C,Java,Python,Javascript,Python3,Go

蓝桥

最近又有蓝桥杯比赛,这才听说这个。。。结果跑去一看,好家伙。。。这是从98年就开始的一个赛事了啊。老顾真是孤陋寡闻了。
在这里插入图片描述

编程语言支持

蓝桥算法挑战,支持的语言更少:

C++,C,Java,Python3

然后还有各个学校内部的题库,差不多就是这样。

做题的两种模式

说完了题库站,该说说怎么刷题了。

其实,以老顾看来,刷题其实分两种,一种是从输入到输出都可以自己控制的,比如蓝桥,比如C站,还有一种,是只能在现有基础上进行编写的,比如力扣,比如牛客。这两种分别对应了两个模式。

调用模式

如力扣牛客这样的,他会给定你一个类和方法名,你需要在这个类和方法下进行算法实现,而他验证结果的时候,是将这个类加载,调用指定方法,同时从别的地方加载用例,这样的好处就是减少了干扰,减少了骗分的情况。虽然还是有不少可以骗分的题就是了。

委托模式

例如蓝桥、C站这样的,则是另外一种,他完全不管你在代码里胡搞瞎搞些什么,他会用编译器调用你的程序,然后把用例挨个扔给你的程序,然后接收你程序返回的输出内容,具体什么数据类型,什么格式完全不管,这样的好处就是输出灵活,但是结果验证就很难受了,多一个少一个空格都不可以。

这两种模式应对起来稍有一些差异。

对于调用模式来说,他需要注意的一个点:

不要对输入的变量重新赋值,这里主要指的是引用型的数据,比如列表,比如矩阵之类的,很多题目是要求在原数据上进行调整,并不要求返回任何数据,他会根据引用自动比较原有变量的值,但是如果重新赋值(局部改变不算)后,引用地址就会发生改变,造成提交后,结果错误的问题。

同时,因为这种模式,所有的数据都是从外边调用进来的,很难进行骗分。

而他的好处则是,你在方法内可以任意输出信息,而这些信息不会被当做返回的内容,不影响最后结果。

对于委托模式来说,需要注意的点就多了

1、不要盲目相信预先给出的输入代码,很多题目的数据输入部分,他都预先做好了,但是,有很大可能会坑爹哦。比如C站这个《CSDN每日一练:鬼画符门之点点大阵》这个题目,就是经典的输入信息坑死人。
2、对于部分题目,输入部分并没有明确的数量,这类题目的输入控制大多需要自己做,需要自己进行异常捕捉,并确保输入信息不遗漏。
3、正确的读题,绝对除了答案之外,不要多输出那怕一个空格

对于委托模式,他有另外一个好处,就是你可以非常方便的用异常将所有用例都抛出来,在不理解题意的时候,看看用例,猜一下最后答案,有时候这个题目就理解了,就能做出来了。如果实在看不懂题目,如果答案范围比较小,也可以进行骗分的。反正线上编程,没有谁真的看你算法时候足够好。

注意事项

1、正确的读题

不是所有网站都和 CSDN 一样考阅读理解的,仔细读题,不要遗漏任何地方,尤其是输入和输出的部分。

2、正确的接收数据

对于调用模式还好说,他会给你正确的已处理好的数据,类型也是准确的,但是对于委托模式的,很多时候我们需要自己使用 input、readline 之类的方法接收数据,这个时候都是字符型哦,你需要按照输入说明,自己将他们转成或数值或列表,或其他什么东西。

3、在算法实现时,使用调试

大多数的做题站,都会有一个除了提交之外的按钮,可以自行定义示例数据进行测试,要灵活的使用这个哦,毕竟出题方给出的示例相对较少,而且不够强壮,你需要自己写两个用例,看看你的算法是否会出现异常

4、严格按照输出要求输出

不管是哪种模式,对这个多少都有一点要求,比如调用模式的原变量修改,比如委托模式的输出格式要求,还是那句话,除了要求之外的内容,尽量一个字符都不要输出。对委托模式来说,更不要画蛇添足的在输入时加什么提示。你对面给数据的是机器吖,你在给谁抛媚眼?

5、注意时间限制

有些时候,小伙伴们会参加一些竞赛性质的活动,这个时候,会有一定的时间要求,比如 leetcode ,要求就是 10:30 至 12:00 ,并不会因为你晚进场而改变结束时间,而 C 站这样的,则是从进场开始计时,约两小时左右。

小结

好了,一些关于刷题的内容就说到这里,如果有小伙伴有其他刷题站,也可以告知老顾,老顾对这些还是比较感兴趣的。

祝大家都能在疲惫的时候,刷题换换脑子放松一下。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/438776.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ch05-学习率调整策略、可视化与Hook

ch05-学习率调整策略、可视化与Hook 0.引言1.学习率调整策略1.1.为什么要调整学习率?1.2.Pytorch提供的六种学习率调整策略1.3.学习率调整策略总结 2.TensorBoard 介绍1.1.SummaryWriter1.2.add_scalar1.3.add_scalars1.4.add_histogram1.5.模型指标监控1.6.add_ima…

Node【八】Express框架【二】

文章目录 🌟前言🌟中间件🌟中间件函数🌟什么是中间件函数🌟中间件函数可以做什么 🌟Express中间件的类型🌟应用级中间件🌟路由器级中间件🌟错误处理中间件🌟内…

Pycharm设置.py文件模版和设置活动模版(代码自动补全)

一、设置.py文件模版 有时候我们想新建.py文件的时候,让这个文件里面默认有一些内容,比如utf-8编码修改,我们应该怎么在PyCharm中设置呢? 依次点击 File -> Settings -> Editor -> File and Code Template,进…

基于亚马逊云科技无服务器架构,开发者可以有效实现快速上线

开发一个“爆款”游戏总共需要几步?Marvel Snap可能会告诉你:第一步,专心致志把游戏做好、提高可玩性;第二步,把其他工作交给亚马逊云科技。 相关数据显示,自2022年10月18日正式发行以来,在不到…

Vue 条件语句

文章目录 Vue 条件语句条件判断v-ifv-elsev-else-ifv-show Vue 条件语句 条件判断 v-if 条件判断使用 v-if 指令&#xff1a; v-if 指令 在元素 和 template 中使用 v-if 指令&#xff1a; <div id"app"><p v-if"seen">现在你看到我了<…

Stereo-Detection:适合新手的双目测距开源项目

简介&#xff1a;Stereo-Detection 是一个传统的SGBM深度测距yolov5目标检测&#xff0c;并部署在Jeston nano的开源教程。它致力于让更多的大四学生毕业&#xff0c;以及让研一学生入门 开源链接&#xff1a;yzfzzz/Stereo-Detection: Conventional SGBM depth ranging yolov…

重要公告 | 关于88号公投和近期Moonbeam区块生产中断的根本原因分析

2023年4月5日&#xff0c;Moonbeam网络经历了短暂的区块生产暂停问题&#xff0c;这是已批准的88号公投带来的意外结果。该问题源于链上公投的批准结果先于runtime升级发布&#xff0c;然而对这次公投的调用顺序却被安排在了runtime升级之后的区块。本文提供了对该事件的详细事…

16、CycriptLogos

一、Cycript Cycript是由Cydia创始人Saurik推出的一款脚本语言,Cycript混合了OC、JavaScript语法的解释器,这意味着我们能够在一个命令中使用OC或者JavaScript,甚至两者并用.它能够挂钩正在运行的进程,能够在运行时修改很多东西. 官网下载/ MonkeyDev自动配置下载是一种脚本语…

浅析EasyCVR平台基于B/S架构的技术特点与应用

EasyCVR基于云边端协同&#xff0c;可支持海量视频的轻量化接入与汇聚管理。平台兼容性强、拓展度高&#xff0c;可提供视频监控直播、视频轮播、视频录像、云存储、回放与检索、智能告警、服务器集群、语音对讲、云台控制、电子地图、平台级联等功能。 EasyCVR视频融合平台采用…

手把手教你针对层级时间轮(TimingWheel)延时队列的实战落地

承接上文 承接上文&#xff0c;让我们基本上已经知道了「时间轮算法」原理和核心算法机制&#xff0c;接下来我们需要面向于实战开发以及落地角度进行分析如何实现时间轮的算法机制体系。 前言回顾 什么是时间轮 调度模型&#xff1a;时间轮是为解决高效调度任务而产生的调…

Delphi大师弗兰克·宝兰德(Frank Borland)回来了!

弗兰克宝兰德&#xff08;Frank Borland&#xff09; begin 弗兰克宝兰德&#xff08;Frank Borland&#xff09;的名字其实代表的是我们这些长期坚守Delphi的老程序员。但并非所有Delphi新开发人员都熟悉Borland。 弗兰克宝兰德是谁&#xff1f;他来自哪里&#xff1f;他的主…

动力节点Springsecurity笔记01-05认证入门

1 问题 如何保护我们的程序&#xff1f; 1.1 创建code目录 目的&#xff1a;后面的security工程均在此目录下学习 创建code目录&#xff0c;并使用idea打开 1.2 不使用安全框架的springboot web程序 1.2.1 新建子模块springboot-01-hello [外链图片转存失败,源站可能有防盗…

全志V85x MPP模块概述以及编译sample步骤

本文转载自&#xff1a;https://bbs.aw-ol.com/topic/3286/ 1. MPP 模块概述 MPP 系统控制模块&#xff0c;根据芯片特性&#xff0c;完成硬件各个部件的复位、基本初始化工作&#xff0c;同时负责完成 MPP&#xff08;Media Process Platform 媒体处理平台&#xff09;系统各…

索引失效了?看看这几个常见的原因!

索引是 MySQL 数据库中优化查询性能的重要工具&#xff0c;通过对查询条件和表数据的索引&#xff0c;MySQL可以快速定位数据&#xff0c;提高查询效率。但是&#xff0c;在实际的数据库开发和维护中&#xff0c;我们经常会遇到一些情况&#xff0c;导致索引失效&#xff0c;从…

2、八个JS中你见过的类型

1、前言 为一个变量指定类型的语法是使用"变量: 类型"的形式&#xff0c;如下&#xff1a; let num: number 123如果你没有为这个变量指定类型&#xff0c;编译器会自动根据你赋给这个变量的值来推断这个变量的类型&#xff1a; let num 123 num abc // error 不…

最简洁快速的kaggle注册(无需翻墙)

目录 1.打开浏览器&#xff0c;点击搜索栏最后3个点点 2.点击扩展&#xff0c;会到一个新页面 3.搜索获取&#xff08;安装插件&#xff09; 4.获取之后&#xff0c;网页搜索栏右边会出现该插件&#xff1a; 5.点击管理&#xff1a; 6.在下载规则中&#xff0c;填入下面的地…

SpringBoot整合JWT

一、What is JWT&#xff1f; Json web token (JWT)&#xff0c;是为了在网络应用环境间传递声明而执行的一种基于 JSON 的开放标准&#xff08;(RFC 7519)&#xff0c;该 token 被设计为紧凑且安全的&#xff0c;特别适用于分布式站点的单点登录&#xff08;SSO&#xff09;场…

认识Spring 和 IoC

目录 何为Spring 1. 何为容器 2. 何为 IoC 2.1 传统的程序开发&#xff1a;耦合性太高 2.2 解决传统开发中的缺陷 2.3 对比总结&#xff1a;IoC的实现思想 3. 理解Spring IoC 4. 理解 DI 5. 总结 何为Spring Spring是一个包含了众多工具方法的 IoC 容器&#xff1…

【Scala入门】Scala下载及安装(Windows)以及Idea创建第一个scala项目

目录 一、安装准备 二、Scala下载安装 三、Idea 创建Scala项目 一、安装准备 在安装之前&#xff0c;确保你的电脑上装有Jdk 8&#xff08;Jdk 1.8&#xff09;&#xff0c;且环境变量配置正确。如果没有安装Jdk&#xff0c;请参照其他文章先安装Jdk 8&#xff08;Jdk 1.8&a…

vue3之Teleport传送组件

一、前言 Teleport 是 Vue3.x 新推出的功能&#xff0c; 没听过这个词的小伙伴可能会感到陌生&#xff1b;翻译过来是传送的意思&#xff0c;可能还是觉得不知所以&#xff0c;没事下边我就给大家形象的描述一下。 二、Teleport 是什么呢&#xff1f;干嘛用的&#xff1f; T…