当前位置: 首页 > wzjs >正文

浦口建设局网站广州网站建设兼职

浦口建设局网站,广州网站建设兼职,wordpress 标签显示,如何加入小说网站做打字员Leetcode1 两数之和 python两种方法实现 文章目录 Leetcode1 两数之和 python两种方法实现方法一:枚举法(暴力解法)方法二:用空间换时间。 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为…

Leetcode1 两数之和 python两种方法实现

文章目录

    • Leetcode1 两数之和 python两种方法实现
      • 方法一:枚举法(暴力解法)
      • 方法二:用空间换时间。

给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的 数组下标

你可以假设每种输入只会对应一个答案,并且你不能使用两次相同的元素。

你可以按任意顺序返回答案。

示例 1:

输入:nums = [2,7,11,15], target = 9
输出:[0,1]
解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。

示例 2:

输入:nums = [3,2,4], target = 6
输出:[1,2]

示例 3:

输入:nums = [3,3], target = 6
输出:[0,1]

提示:

  • 2 <= nums.length <= 10^4
  • -10^9 <= nums[i] <= 10^9
  • -10^9 <= target <= 10^9
  • 只会存在一个有效答案

分析:给定一个目标数值,需要返回和为目标数值的两个数的下标,而且答案只有一个。即对于a+b = target, 有且只有一个解。

方法一:枚举法(暴力解法)

对于一个数组[c1,c2,c3,c4,c5], 可以一组一组的判断,即(c1,c2),(c1,c3),(c1,c4),(c1,c5),

(c2,c3),(c2,c4),(c2,c5)

(c3,c4),(c3,c5),

(c4,c5)

即枚举法。

class Solution(object):def twoSum(self, nums, target):""":type nums: List[int]:type target: int:rtype: List[int]"""n = len(nums) # 获取数组的长度for i in range(n):for j in range(i+1,n):if(nums[i]+nums[j] == target):return [i,j]return []

时间复杂度O(n^2), 空间复杂度O(1), 因为只使用了3个临时变量,n, i,j.

分析:时间复杂度很高,空间复杂度很低。如何能够降低时间复杂度,一种思路是用空间换时间

方法二:用空间换时间。

我们还是来看枚举法:

(c1,c2),(c1,c3),(c1,c4),(c1,c5),

(c2,c3),(c2,c4),(c2,c5)

(c3,c4),(c3,c5),

(c4,c5)

大部分时间花在了寻找第二个数上。有一个基本的观察是:如果第二个数与第一个数的和为目标数值,那么目标数值减去第二个数一定存在于数组中。

快速查找数值的结构是哈希集合或者哈希表,python中对应的结构是dict.

第一遍遍历的时候,如果当前数为答案中的第二个数,则target-当前数 则一定位于当前数之前的数组成的哈希集合中。
使用一个叫做dict的数据结构,键为数,值为当前数的索引。

class Solution(object):def twoSum(self, nums, target):""":type nums: List[int]:type target: int:rtype: List[int]"""hashtable = dict()for i, num in enumerate(nums):if(target - num in hashtable):return [i, hashtable[target-num]]hashtable[num]= i

时间复杂度 O(n), 空间复杂度O(n)

结果:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

链接:

https://leetcode.cn/problem-list/array/

从这一期leetcode开始,我会经常回来看我的博客,如果博主们觉得哪里看不懂,欢迎随时在评论区提出。

刷Leetcode就如同刷象棋路边摊一样,最开始刷的时候,觉得某一个象棋的路数好奇妙,刷着刷着回过头来看时发现那个招数在自己的眼中变得没那么令人惊讶了,变得稀松平常了。


文章转载自:

http://WQSmAecU.kpwdt.cn
http://vmc7rzBY.kpwdt.cn
http://HQ6ot1VR.kpwdt.cn
http://z0k3B9uh.kpwdt.cn
http://Aov66gR4.kpwdt.cn
http://6hzXX99H.kpwdt.cn
http://2OjEDsoT.kpwdt.cn
http://Oobz7uLA.kpwdt.cn
http://PRxw1kAN.kpwdt.cn
http://2kldeG8I.kpwdt.cn
http://3SlfPt6n.kpwdt.cn
http://S8og0SzJ.kpwdt.cn
http://TsxEi0MJ.kpwdt.cn
http://45HTcpPl.kpwdt.cn
http://SKINqj6c.kpwdt.cn
http://cKYPdmTo.kpwdt.cn
http://dv89Y92V.kpwdt.cn
http://caHyONkp.kpwdt.cn
http://V1Zrk9Xd.kpwdt.cn
http://ErnNfVwQ.kpwdt.cn
http://zXl55aTd.kpwdt.cn
http://lmaQNlo9.kpwdt.cn
http://pJ8ru6Ln.kpwdt.cn
http://toTm7H4O.kpwdt.cn
http://alfwx1tp.kpwdt.cn
http://zGhLJl7i.kpwdt.cn
http://glaOFhl1.kpwdt.cn
http://cY6yfbZy.kpwdt.cn
http://DigyW5XS.kpwdt.cn
http://6Dqqc4zF.kpwdt.cn
http://www.dtcms.com/wzjs/768209.html

相关文章:

  • 网站制作好在百度里可以搜到吗西宁百姓网
  • 播州区建设局网站wordpress订单查询
  • 网站安全防护网页制作登录界面代码
  • 如何制作课程网站模板下载地址信誉好的营销单页网站
  • 网站建设销售需要懂的知识cms是什么材料
  • 深圳 网站建设vs做网站头部的代码
  • 自带浏览器建设银行网站打不开青岛网站关键词排名优化
  • 乐清品牌网站建设网络免费推广平台
  • 长沙营销网站设计wordpress cdn 非插件
  • 公司网站建设说明书wordpress阅读全文
  • 如何让单位网站做防护wordpress怎样比较安全
  • 学校的网站怎么做的好如何进入wordpress前台
  • 杭州 网站制作百度网站验证怎么做
  • 监控企业网站模板东莞网上推广
  • 网站栏目结构哪些wordpress怎么烤别人的
  • 公司电商网站开发合同范本东道设计公司怎么样
  • 网站被黑怎么恢复微信小程序游戏制作
  • 为什么要建设就业指导网站深圳网站制作 论坛
  • 做seo要明白网站内容网站百度快照
  • 网站关键词描述字数注册网站一年多少钱
  • 网站广告代码怎么添加怎么登陆网站后台管理系统
  • 青岛专业网站建设推广报价北京各大网站推广服务公司
  • 做网站主机电脑网页设计代码12星座
  • 网站如何做整合营销做汽车商城网站
  • 南宁企业门户网站建设价格重庆开网站
  • 永年哪做网站在线设计平台有什么用
  • 吉林省工伤保险网站python如何建网站建设
  • 网站建设网站制作行业网站系统
  • 自己做的网站百度收索不到国外优秀室内设计展板排版
  • 昆山住房和城乡建设局网站首页wordpress中文企业模板