LeetCode刷题指南

2024-03-11 1555阅读

温馨提示:这篇文章已超过377天没有更新,请注意相关的内容是否还可用!

文章目录

  • 前言
  • 刷题顺序
  • 怎么正确提交代码
    • Python
    • C\C++
    • Java

      前言

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

      刷题顺序

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

      怎么正确提交代码

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

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

      Python

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

      LeetCode刷题指南

      在这里可以切换语言

      LeetCode刷题指南

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

      LeetCode刷题指南

      其中,右边就是我们提交代码的地方,也是我们需要着重讲的地方LeetCode刷题指南

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

      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 twoSum(vector& nums, int target) {
              
          }
      };
      

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

      Java

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

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

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

VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]