“有人相爱,有人夜里开车看海,有人LeetCode第一题都做不出来”

编程入门 行业动态 更新时间:2024-10-21 10:00:49

“有人相爱,有人夜里开车看海,有人LeetCode第一题<a href=https://www.elefans.com/category/jswz/34/1735951.html style=都做不出来”"/>

“有人相爱,有人夜里开车看海,有人LeetCode第一题都做不出来”

刷LeetCode真是太好了

仅以此篇作为记录LeetCode征程的开始!
后续不定时更新,主要是取决于能刷的出来不 🤣

路漫漫其修远兮,吾将上下而求索。


文章目录

  • 刷LeetCode真是太好了
  • 前言
  • 一、两数之和(twoSum)
    • 1.问题描述
    • 2.示例
      • 示例 1:
      • 示例 2:
      • 示例 3:
  • 二、解题分析
    • 1.元素重复性
    • 2.数据类型的选择
  • 三、代码及运行结果
    • 1. 代码
    • 2.运行结果
      • 示例 1:
      • 示例 2:
      • 示例 3:
  • 四、运行耗时和内存消耗
  • 五、总结


前言

众所周知: 程序 = 算法 + 数据结构。熟悉常见的算法和数据结构有助于我们优化代码,提高程序的效率、节省时间和内存空间。
本文以LeetCode第一题为例,来记录笔者在学习进阶时的疑惑与成长。


一、两数之和(twoSum)

1.问题描述

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

你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。

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

2.示例

  • 示例 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]

二、解题分析

1.元素重复性

  1. 数组内的每个元素只能作为一个加数,即target不能由nums里同一下标的元素两次相加所得。
  2. 数组内的元素可以重复,即nums里面可以出现重复的两个数字。

2.数据类型的选择

  1. 字典的键是唯一的,可以创建一个空字典,用于存储元素的下标与值。
  2. 在字典中查看,target - nums[i]是否存在:
    a. 如果不存在,将inums[i]以键值对添加到 字典中
    b. 如果存在,在遍历字典中的键,找到值为target - nums[i]对应的键。

三、代码及运行结果

1. 代码

class Solution(object):def twoSum(self, nums, target):""":type nums: List[int]:type target: int:rtype: List[int]"""n = len(nums)# 创建空字典用于存储列表元素的下标和值dic = {}# 遍历下标for i in range(n):#在字典的值中,查找到另外一个加数if target-nums[i] not in dic.values():# 如果不在,就将当前下标为i的元素的值和索引,作为键值对存储到字典中dic[nums[i]] = ielse:# 如果在,就返回当前遍历的下标i和字典中target-nums[i]对应的值return [i,dic[target-nums[i]]]

2.运行结果

示例 1:

nums = [2,7,11,15], target = 9

示例 2:

nums = [3,2,4], target = 6

示例 3:

nums = [3,3], target = 6


四、运行耗时和内存消耗

五、总结

灵活运用判断条件,熟知各数据结构的特点,可以使我们代码更简洁、高效。

更多推荐

“有人相爱,有人夜里开车看海,有人LeetCode第一题都做不出来”

本文发布于:2024-02-26 10:33:45,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1702189.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:都做   看海   夜里   不出来   LeetCode

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!