LeetCode 初次使用 两数之和的训练
首先看到示例:
给定 nums = [2, 7, 11, 15], target = 9
因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]
想到,我可以先在nums中取一个数,然后再从nuns中取一个数,取和,也就是目标值target 再做比较给定的target。
代码如下:
class Solution:
def twoSum(self, nums: List[int], target: int) -> List[int]:
for i,k in enumerate(nums):
for l,m in enumerate(nums):
if nums[i] + nums[l] ==target :
return [i,l]
用时52ms,之后进行提交
提交结果显示是错误
它给定了一个nums=[3,2,4]
预期结果是[1,2]
我输出是[0,0]
我意识到,在我做两次for循环的代码中,会有取同一值可以输出的情况,对此,我做了如下更改
class Solution:
def twoSum(self, nums: List[int], target: int) -> List[int]:
for i,k in enumerate(nums):
for l,m in enumerate(nums):
if nums[i] + nums[l] ==target and i!=l :
return [i,l]
此时的执行结果变成了超出时间限制
在看别人的解答过程中有如下代码
class Solution:
def twoSum(self, nums: List[int], target: int) -> List[int]:
dict={}
for i,k in enumerate(nums):
if dict.get(target-k) is not None:
return [i,dict.get(target-k)]
else:
dict[k]=i
这是使用了哈希表的数据结构的方法,我对它一点不了解
nick老师的博客:https://www.cnblogs.com/nickchen121/p/10272808.html
里面也有简单介绍
之后我会去百度上学习哈希表
LeetCode 初次使用 两数之和的训练的更多相关文章
- 每日一道 LeetCode (1):两数之和
引言 前段时间看到一篇刷 LeetCode 的文章,感触很深,我本身自己上大学的时候,没怎么研究过算法这一方面,导致自己直到现在算法都不咋地. 一直有心想填补下自己的这个短板,实际上又一直给自己找理由 ...
- Leetcode系列之两数之和
Leetcode系列之两数之和 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标.你可以假设每种输入只会对应一个答案.但是,你 ...
- leetcode刷题--两数之和(简单)
一.序言 第一次刷leetcode的题,之前从来没有刷题然后去面试的概念,直到临近秋招,或许是秋招结束的时候才有这个意识,原来面试是需要刷题的,面试问的问题都是千篇一律的,只要刷够了题就差不多了,当然 ...
- LeetCode :1.两数之和 解题报告及算法优化思路
最近开始重拾算法,在 LeetCode上刷题.顺便也记录下解题报告以及优化思路. 题目链接:1.两数之和 题意 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 ...
- LeetCode 167:两数之和 II - 输入有序数组 Two Sum II - Input array is sorted
公众号: 爱写bug(ID:icodebugs) 给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数. 函数应该返回这两个下标值 index1 和 index2,其中 index ...
- LeetCode | No.1 两数之和
题目描述: Given an array of integers, return indices of the two numbers such that they add up to a speci ...
- leetCode刷题 | 两数之和
两数之和: 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 你可以假设每种输入只会对应一个答案.但是,你不能重复利用这个数 ...
- leetcode算法1.两数之和
哈喽!大家好,我是[学无止境小奇],一位热爱分享各种技术的博主! [学无止境小奇]的创作宗旨:每一条命令都亲自执行过,每一行代码都实际运行过,每一种方法都真实实践过,每一篇文章都良心制作过. [学无止 ...
- [LeetCode] Two Sum 两数之和
Given an array of integers, return indices of the two numbers such that they add up to a specific ta ...
随机推荐
- Oracle DBCA工具检测不到ASM磁盘组
本例环境: 操作系统OEL 6.5 数据库版本:11.2.0.4 问题:DBCA建库的时候,检测不到ASM磁盘组 因素一:可能是在授权的时候执行了 chown –R 775 /u01/app等修改权限 ...
- 微信小程序获得unionid
一.微信小程序中app.js中: wx.login({ success: res => { if(res.code){ var code = res.code; wx.getSetting({ ...
- Function和Object 应该知道的
javascript有5种基础的内建对象(Fundamental Objects),Object.Function.Error.Symbol.Boolean,而Object/Function尤为特殊, ...
- 使用 VS2015 编译并调试 ffmpeg
导读 ffmpeg 是音频处理方面非常强大非常有名的开源项目了,然而如 雷神 所说,“FFMPEG 难度比较大,却没有一个循序渐进,由简单到复杂的教程.现在网上的有关FFMPEG的教程多半难度比较大, ...
- android 实例-弱引用示例 Handler正确使用方法
实际问题 android 习惯性问题:在使用handler的时候喜欢使用内部类形式. private final Handler handler = new Handler(){ @Override ...
- A Beginner's Guide To Understanding Convolutional Neural Networks Part One (CNN)笔记
原文链接:https://adeshpande3.github.io/adeshpande3.github.io/A-Beginner's-Guide-To-Understanding-Convolu ...
- 最少步数&P1443 马的遍历
1330:[例8.3]最少步数 s数组:记录(1,1)到达每一点需要的最少步数 s[1][1]自然为 0,其余初始化为 -1 que数组:que[#][1] 表示(1,1)可到达点的 x 坐标 q ...
- 【原】vue-router中params和query的区别
1.引入方式不同 query要用path来引入 this.$router.push({ path: 'test', query: { type: 2, detail: '哈哈' } }) params ...
- ViewGroup的事件机制
根据View的事件机制,再添加在代码中添加一个自定义的LinearLayout,继承LinearLayout,然后复写了与事件分发机制有关的方法,日志输出 import android.content ...
- ASimpleCache源码分析
ASimpleCache里只有一个JAVA文件——ACache.java,首先我用思维导图制作了ACache类的详细结构图: 通过分析官方给的demo来驱动源码分析吧 以字符串存储为例(官方给的dem ...