LeetCode简介
刷题之前,先简单介绍一下LeetCode,
再陈述一下需要准备材料,https://www.jianshu.com/p/18c7f2533f7a
LeetCode简单题
01 两数之和
题目描述如下:
给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。
示例:
给定 nums = [2, 7, 11, 15], target = 9
因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]
方法一:
第一次提交代码:
【反思】测试结果及相应代码如下图所示,出现错误的原因是没有考虑整数数组元素为0值时的情况,导致在定义差值数组的时候初始化值为0,第一次比较整数数组第一个元素0与差值数组第一个元素时,直接返回整数数组下标0和差值数组第一位元素下标0的情况。
第二次提交代码:
【反思】出现超出输出限制的原因是,print的位置不对,提交代码的时候忘记删除调试时候的print输出语句造成的。
第三次提交代码:
【反思】执行时间6508ms,太过于长了,原因有一方面是因为使用了python中的List结构进行遍历,其时间复杂度是O(n)的,和字典的遍历时间复杂度O(1)相比自然差很多,建议以后python遍历采用字典进行。
第四次提交代码: