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

【Python刷力扣hot100】1. Two Sum

问题

给定一个整数数组 nums 和一个整数 target,返回两个数的索引,使得这两个数相加等于 target。

Example 1:
Input: nums = [2,7,11,15], target = 9 Output: [0,1]
Explanation: Because nums[0] + nums[1] == 9, we return [0, 1].

Example 2:
Input: nums = [3,2,4], target = 6 Output: [1,2]

Example 3:
Input: nums = [3,3], target = 6 Output: [0,1]

解1:暴力搜索

遍历所有情况,找到解就return。

时间复杂度O(n2)O(n^2)O(n2):最多需要比较n×(n−1)2\frac{n \times (n-1)}{2}2n×(n1)

空间复杂度O(1)O(1)O(1):随着数组规模的增大,我们使用的额外空间是不变的。

class Solution:def twoSum(self, nums: List[int], target: int) -> List[int]:ans = []n=len(nums)# i:起点。j:终点for i in range(n):for j in range(i + 1, n):if nums[i] + nums[j] == target:ans.append(i), ans.append(j)return ansreturn ans
# 可以用点语法糖简化
class Solution:def twoSum(self, nums: List[int], target: int) -> List[int]:ans = []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 []

解2:哈希表

利用哈希表,把已经用过的数字存储起来,再次使用时可用哈希表立即访问(时间复杂度为O(1)O(1)O(1)),空间换时间。

时间复杂度O(n)O(n)O(n):最坏情况下需要遍历列表,而列表的长度为nnn

空间复杂度O(n)O(n)O(n):随着数组规模的增大,我们需要的哈希表长度也等比增加,哈希表最多需要储存数组内的所有元素。

class Solution:def twoSum(self, nums: List[int], target: int) -> List[int]:hashtable=dict()for i,num in enumerate(nums):if target-num in hashtable:return [hashtable[target-num],i]hashtable[num]=i # 看过后发现解没出现,就存入哈希表return []

参考

https://leetcode.cn/problems/two-sum

http://www.dtcms.com/a/431406.html

相关文章:

  • 网站建设属于什么行业类别wordpress数据库文件在哪里设置
  • CCF-CSP认证考试 202309-3 梯度求解
  • JavaScript 保留关键字详解
  • 赣州那里有做网站的公司中国最新军事新闻最新消息2023
  • 使用 Python 将文件上传到 Supabase Storage 并记录元数据
  • 测试报告——“问卷考试系统”项目
  • 网站开发者常见问题网站建设 010
  • Digi-Star精准饲喂系统:牧场收益提升的利器,把Digi XBee模块应用到了极致
  • LED点阵屏
  • 图片方向矫正工具,批量处理超高效
  • 网站开发系统源代码模板兔自用主题WordPress
  • 鄢陵县网站wordpress编辑器器更换
  • 安阳网站推广优化点击最多的网站
  • 护理+人工智能研究热点数据分析项目实战(五)
  • 重庆市建设工程质量协会网站在招聘网站做销售
  • 2007 年真题配套词汇单词笔记(考研真相)
  • 羽毛球笔记
  • 风险 评估
  • Vue中使用el-table实现表格数据合并展示-demo
  • 【药物设计】三种分子碎片化方法介绍:Recap、BRICS与eMolFrag
  • 中断控制器介绍-硬件篇(arm)
  • 静态文件,动态文件,静态网站,动态网站
  • 如何做自动网站网站开发使用的工具
  • 用.net做购物网站西安公积金 网站建设
  • S7-200 SMART PROFINET 通信入门:硬件组态与原理详解
  • 已知三极管的类型(NPN/PNP)和基极引脚,如何区分集电极(c)和发射极(e)
  • 沈阳做网站 熊掌号西安百度竞价代运营
  • FFmpeg和ZLMediaKit 实现本地视频推流
  • 学校网站模板图片马来西亚做网站
  • 深圳展览设计网站建设门户是什么意思