LeetCode刷题指南

文章介绍了在LeetCode上刷题时如何正确提交代码,建议初学者按题目难度和通过率排序刷题,如数学->数组->链表等。对于Python、C/C++、Java,文章详细解释了如何在给定的函数框架内编写代码并提交,强调了保留原有函数结构的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

你是否在刷LeetCode的时候不知道怎么正确的提交代码?不管怎样提交都不对,可是在自己的编译器上却是能运行成功并且答案正确,又或是你不知道刷题顺序,一来就倒在了第一题两数之和面前了。看来你和最初的我一样,也遇到了这样的问题,那么可以看看我的这篇文章能否帮助到你,有什么不对的地方敬请大家批评改正

刷题顺序

这里建议初学者的话可以按照由简单到困难,再由通过率高的到通过率低的这样刷着走,因为并不是简单的就一定简单,简单里面的题也有相对比较难的,然后就是可以按照数学->数组->链表->字符串->哈希表->双指针->递归->栈->队列这样的顺序进行刷题

怎么正确提交代码

接下来就是刚开始我到处碰壁的时候遇到的问题了

由于LeetCode并不是像洛谷那样要你提交完整的代码,所以我们不能直接提交完整的代码上去,那样会直接报错,刚开始的我百思不得其解,直到后面刷的题多了才发现哪个有点像函数的样子,才知道怎么正确的提交一个代码了,对于如何选题这里就不做过多赘述了,大家可以按照我说的刷题顺序自己去进行筛选刷题,接下来我将就Python、C、C++、Java具体是怎么提交自己的代码,以下我们都是以1. 两数之和举例

Python

假如你是用Python刷题的话,那么在你点进每一题的时候,你可以看到这样一个界面
在这里插入图片描述

在这里可以切换语言
在这里插入图片描述

其中,左边部分是我们的题目,该题给我们一个整形数组nums和一个目标值target,要我们返回两个数之和为target的数的下标

在这里插入图片描述

其中,右边就是我们提交代码的地方,也是我们需要着重讲的地方在这里插入图片描述

需要注意的是这里我们不用像洛谷等大多数刷题网站一样要自己写输入输出,在上面有这样一句代码

class Solution:
	def twoSum(self, nums:List[int], target:int)->List[int]:

其中nums就是题目给我们的数组,target就是那个目标值,我们只需要在下面写我们的代码即可,一定不能把这两行代码删了,刚开始的时候我以为没用就删了,所以总是提交失败,冒号后面的是该变量的数据类型,例如List[int]表示nums是一个存放整形数据的列表,箭头后面表示的是返回值的类型,最终我们 提交的代码应该是这样的

class Solution:
    def twoSum(self, nums: List[int], target: int) -> List[int]:
        result = []
        for i in range(len(nums)):
            for j in range(i+1,len(nums)):
                total = nums[i] + nums[j]
                if total == target:
                    result.append(i)
                    result.append(j)
                    return result

C\C++

对于C\C++其实差不多,我们按照上述的方法点开可以看到这样的代码块

/**
 * Note: The returned array must be malloced, assume caller calls free().
 */
int* twoSum(int* nums, int numsSize, int target, int* returnSize){

}

上面是C语言的,这是C++的

class Solution {
public:
    vector<int> twoSum(vector<int>& nums, int target) {
        
    }
};

我们可以发现这好像和函数差不多,我们只需要注意到传进去的参数是什么,返回值的类型又是什么即可,然后再里面写我们的代码就好了

Java

说了这么多了,我相信大家其实也已经发现了规律,没错,其实LeetCode要我们提交的其实并不是什么带有输入输出的完整代码,C\C++不用写头文件,只需要在函数体里面写我们的代码就好了,而Java也是类似

class Solution {
    public int[] twoSum(int[] nums, int target) {

    }
}

我们只需要在方法里面写我们的代码就好了,答案是通过返回值传递的,而输入则是题目就已经给我们了的,也就是通过形参传递给我们的,我们只需要直接使用就好

### 回答1: LeetCode 是一个在线编程挑战网站,提供了许多算法和数据结构目供程序员练习和提高。下面是一些关于使用 Python LeetCode 的提示: 1. 首先,了解目的要求和限制,并确定解思路。 2. 使用自己熟悉的编程语言(如 Python)进行编码。 3. 在完成编码后,进行单元测试,确保代码的正确性。 4. 提交代码,查看结果。如果错误,请思考错误原因并进行调试。 5. 反复做,提高自己的算法和数据结构能力。 6. 可以参考其他人的解和代码,可以更好的学习和了解目的解法。 ### 回答2: LeetCode是一款非常好的平台,它提供了大量的算法目,帮助程序员们提高编程技能。但是,想要LeetCode需要一些方法和技巧。本篇文章主要介绍LeetCode指南,特别是使用Python语言。 首先,我们需要明确一个问LeetCode最重要的是什么?我认为是“理解算法”。很多人最开始LeetCode时会想直接写代码试试,这是错误的做法。我们首先需要理解目的意思,思考算法的解思路,以及算法的时间复杂度和空间复杂度等问。只有当我们弄懂了算法的思路,才能够写出高质量的代码。 其次,我们需要建立良好的代码习惯。Python是一门非常简洁优雅的语言,但是我们需要注意代码的可读性和规范性,这样在后期维护代码时会更加方便。建议使用pycharm等IDE工具,并安装Pylint等插件进行代码检查和优化。 接下来,我们需要准备好一些有效的工具。为了方便,我们可以在本地安装必备工具,例如:leetcode-cli、leetcode vscode插件、leetcode-cn的官方Python SDK等。这些工具可以帮助我们快速地创建、调试和提交解,并且可以方便地查看目和测试样例。另外,我们还可以用一些在线的工具,如Jupyter Notebook、Google Colab等来。 最后,我们需要保持耐心和持之以恒的心态。LeetCode不是一蹴而就的事情,需要坚持不懈地努力。每道都应该认真思考,从简单到复杂、从容易到难以深入理解,跟着目一步步实现代码。通过,我们可以锻炼自己的编程技能、提高算法水平、积累自己的编程经验。 总之,LeetCode是一款非常优秀的算法目平台,它可以帮助程序员们提高编程水平。使用Python语言,需要我们掌握好编程思路,建立好良好的代码习惯,使用好工具,并坚持不懈地去提升自己的能力。 ### 回答3: 随着人工智能和大数据技术的快速发展,编程成为了一项越来越重要的技能。而leetcode算法是提高编程技能、增加算法思维的有力方式之一。本文主要介绍如何通过Python语言leetcode算法。 一、准备工作 1.安装Python环境 Python是一种优秀的面向对象的解释型计算机程序设计语言,在如今的人工智能和数据科学领域应用广泛。首先需要安装Python环境,推荐安装版本为Python 3.x。 2.注册LeetCode账号 可以通过该网站进行LeetCode算法,而注册账号是必选步骤。 二、解流程 1.目分析:初学者可先从LeetCode官方解中找到简单难度的目,通过阅读目,明确目的意义,梳理解思路和关键信息。 2.思路整理:理清目后,可以尝试使用笔和纸来将目要求和信息进行抽象和总结。可以画图或列出清晰的步骤,为编写代码提供思路。 3.编写代码:将思路转化为代码实现。结合算法,通过Python语言的面向对象编程,从而完成代码的编写。 4.测试和优化:在完成编码后,需要对代码进行测试,并对代码进行优化处理。可以通过LeetCode的自动评测系统,检查代码运行是否正确。此步骤也有助于人为地检查代码中的错误,提高代码的效率和质量。 5.总结归纳:在完成一定数量的算法后,可以对做有所总结和归纳。思考算法的分类和解的技巧,这有助于加深理解并提高解效率。 三、学习资源 1. LeetCode官方网站:www.leetcode.com 2. 《Python Algorithm Interview》 3. 《算法图解》 4. 数字图书馆:https://www.gitbook.com/book/jalan/leetcode-python/details 5. Github仓库:https://github.com/yuzhoujr/leetcode-python 总结一下,LeetCode目是提高自己的算法和编程能力的好方法Python语言无疑是实现目标的好选择;同时,在过程中,理清目并充分思考,多测试,总结归纳同样重要。希望以上的介绍有助于您更好地学习
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值