Leetcode简单:1. 两数之和

Python实现求解两数之和问题的完整代码 在日常编程中,我们经常会遇到需要计算两个数字之和的场景。Python作为一门高效且简洁的编程语言,提供了多种方法来实现这一功能。当然,在实际应用中,数字通常不是直接赋值给变量的,而是通过用户输入、从文件读取等方式获取。通过上述代码示例,我们可以看到Python语言提供了简单且高效的方式来计算两个数字之和,这对于日常编程非常有用。然后,我们使用加法运算符求出两个数字之和,并将结果输出。通过上述代码,我们可以轻松地计算出数字5和数字7的和,并将结果输出。函数获取用户输入的两个数字,并将其保存在变量。 阅读详情

题目:两数之和

  • 题号:1
  • 难度:简单
  • https://leetcode-cn.com/problems/two-sum/

给定一个整数数组 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]

示例2:

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

提示:

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

进阶:你可以想出一个时间复杂度小于 O(n2)O(n^2)O(n2) 的算法吗?


实现

第一种:暴力匹配算法

C# 语言

public class Solution 
{
    public int[] TwoSum(int[] nums, int target) 
    {
        int[] result = new int[2];
        for (int i = 0; i < nums.Length - 1; i++)
        {
            int find = target - nums[i];
            for (int j = i + 1; j < nums.Length; j++)
            {
                if (find == nums[j])
                {
                    result[0] = i;
                    result[1] = j;
                    return result;
                }
            }
        }
        return result;
    }
}

Python 语言

class Solution(object):
    def twoSum(self, nums, target):
        """
        :type nums: List[int]
        :type target: int
        :rtype: List[int]
        """
        for i in range(len(nums) - 1):
            find = target - nums[i]
            for j in range(i + 1, len(nums)):
                if (nums[j] == find):
                    return [i, j]

第二种:利用字典的方式

把字典当作一个存储容器,key 存储已经出现的数字,value 存储数组的下标。

C# 语言

public class Solution 
{
    public int[] TwoSum(int[] nums, int target) 
    {
        int[] result = new int[2];
        Dictionary<int, int> dic = new Dictionary<int, int>();
        for (int i = 0; i < nums.Length; i++)
        {
            int find = target - nums[i];
            if (dic.ContainsKey(find))
            {
                result[0] = dic[find];
                result[1] = i;
                break;
            }
            if (dic.ContainsKey(nums[i]) == false)
                dic.Add(nums[i], i);
        }
        return result;    
    }
}  

Python 语言

class Solution(object):
    def twoSum(self, nums, target):
        """
        :type nums: List[int]
        :type target: int
        :rtype: List[int]
        """
        dic = {}
        for index, val in enumerate(nums):
            find = target - val
            if find in dic:
                return [dic[find], index]
            else:
                dic[val] = index
快速入门Python:使用Python计算两个数的和 Python是一种广泛使用的高级编程语言,它具有简洁、易读的语法,适用于各种编程任务。在本篇文章中,我将以计算两个数的和为例,向你展示如何快速入门Python编程,并提供相应的源代码。通过这个简单的例子,我们了解了如何使用Python编写一个基本的计算程序。现在,我们可以运行这段代码,看看它的输出结果了。让我们来编写一个简单的Python程序,计算两个数的和。这表明我们的代码正确地计算了两个数的和,并将结果输出到了屏幕上。函数将字符串和变量值一起输出,我们可以使用逗号将它们分隔开。函数将其转换为浮点数。 阅读详情

相关推荐

python实现两数之和问题(附完整源码)

python实现两数之和问题(附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 686

用Python实现两数之和(python)

用Python实现两数之和 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, ...

南有芙蕖 1万+

【简单】力扣算法题解析LeetCode1:两数之和

本文介绍了在整数数组中寻找两数之和等于目标值的算法。通过哈希表优化查找过程,将时间复杂度从O(n²)降至O(n)。关键思路是边遍历边检查补数是否存在,避免重复计算。Java实现中预分配哈希表容量,单次遍历时先检查后存储,确保高效性和正确性。算法通过示例验证,时间复杂度O(n),空间复杂度O(n)。

ylumwd的博客 713

【python】两数之和 python实现(详细讲解)

👉博__主👈:米码收割机👉技__能👈:C++/Python语言👉公众号👈:测试开发自动化【获取源码+商业合作】👉荣__誉👈:阿里云博客专家博主、51CTO技术博主👉专__注👈:专注主流机器人、人工智能等相关领域的开发、测试技术。

测试开发自动化 4554

【python】epub的电子书繁体字与简体字转换

中文繁体与简体转换

xiexianyou666的博客 3088

告别C盘爆红!手把手教你将WSL2下的Ubuntu 22.04完整迁移到D盘(附清理指南)

本文详细指导如何将WSL2下的Ubuntu 22.04从C盘无损迁移到D盘,包括导出备份、注销原系统、导入新位置等关键步骤,并提供迁移后的优化配置、开发环境衔接及长期维护技巧,帮助用户彻底解决C盘空间不足问题。

weixin_28698059的博客 472

【LeetCode力扣题库】1. 两数之和(简单)

原题目链接:1. 两数之和 题目描述: 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。 你可以按任意顺序返回答案。 示例 1: 输入:nums = [2,7,11,15], target = 9 输出:[0,1] 解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。 示例 2: 输入:nums = [3,2,4], ta

一个平平无奇的攻城狮 3302

Python海康相机api---超简单入坑学习必看

海康官网下载相机驱动​安装好以后找到Python的开发文件目录参考:D:\MVS\MVS\Development\Samples\Python\MvImport这几个文件很重要,想调用海康相机取图会用到.​为了写代码方便可以把这几个文件拷贝一下,跟你的api主文件放在同一个文件夹下可以减少80%的烦恼.​。

weixin_59360687的博客 3478

力扣简单题系列:两数之和(LeetCode 1)

这道题是力扣的经典题目,通过使用哈希表,我们可以将时间复杂度从 O(n²) 优化到 O(n)。掌握哈希表的使用对于解决类似的查找问题非常有帮助。希望这篇博客能帮助到正在学习算法的小伙伴们!

weixin_53910667的博客 586

ArcGIS栅格数据像元值与坐标值提取及Excel导出全流程解析

本文详细解析了使用ArcGIS将栅格数据批量提取像元值与坐标值并导出至Excel的全流程。通过“栅格转点”、“添加XY坐标”和“表转Excel”三大核心步骤,无需编程即可自动化处理遥感、环境等领域的空间数据,有效提升数据分析效率。

zeta9的博客 365

Vivado时序违约小结

目录1. setup time违约1.1 逻辑级数太高1.2 Fanout太大2. hold time 违约2.1 异步信号处理导致hold time违约 1. setup time违约 建立时间是工程设计中最常遇到的问题了。一般说来,导致建立时间违例主要有两个原因:逻辑级数太大或者扇出太大,当然也可以尝试通过降频来解决建立时间违约。 1.1 逻辑级数太高 Levels指的是逻辑级数logic level,一个logic level的延迟对应的是一个LUT和一个Net的延迟,对于不同的器件,不同频率的设计能

mu_guang_的博客 7155

力扣(LeetCode)刷题,简单难度,第1题,两数之和(python)

每天积累一小点。

weixin_42866036的博客 767

esxi8.0.3如何添加USB外置硬盘

本文介绍了在ESXi系统中配置外置USB硬盘作为数据存储的完整步骤:1)通过SSH禁用USB仲裁服务并关闭自启;2)识别已连接的USB硬盘设备路径;3)使用partedUtil创建GPT分区表并计算扇区范围;4)设置VMFS6分区并格式化。关键命令包括停止usbarbitrator服务、partedUtil分区操作以及vmkfstools格式化命令。整个过程需通过SSH执行,最终将USB硬盘配置为名为"USB_Datastore"的VMFS6存储设备。

qq_41683719的博客 1544

【LeetCode力扣】1.(简单)两数之和(JavaScript)

LeetCode力扣经典例题第一题,两数之和

m0_73117087的博客 285

【CAD】【手把手带你写一个DXF&JAVA解析框架】02——整理DXF元数据实体类,涵盖重要属性与对照组码

本文系统梳理了DXF文件解析中的核心元数据类,重点分析了Tables段(图层、块记录)、Blocks段和Entities段的关键数据结构。通过详细的组码说明和对照代码实现,阐述了图层定义(DXFLayer)、块记录(DXFBlockRecord)、应用程序标识(DXFAppId)等表对象的属性构成;同时解析了直线(DXFLine)、多段线(DXFLwPolyLine)、圆弧(DXFArc)、文字(DXFText)等实体类的几何特征与属性定义。文章还构建了顶点(Vertex)、基类(DXFEntity、DXF

Wonder ZH 267

20251121更新纷玩岛

【代码】20251121更新纷玩岛。

猫敷雪 1017

大厂面试题由浅入深 力扣(LeetCode) 简单题 题号1 两数之和

题目 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。 解题-普通写法 首先看到第一个反应必然是遍历数组,先来个简单的写法,利用双层for循环进行遍历查出两个数 var twoSum = function (nums, target) { //从第一个数字开始对让他与每个数相加判断是否等于目标数 for (let i = 0; i

weixin_43021311的博客 217

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

leetcode【哈希表—简单】1.两数之和

给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 你可以按任意顺序返回答案。

每个人都是独一无二的,把握好自己的节奏,跟着自己的心走。 505

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

力扣简单题1:两数之和

题目要求 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 你可以按任意顺序返回答案。 示例 1: 输入:nums = [2,7,11,15], target = 9 输出:[0,1] 解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。 示例 2: 输入:nums = [3.

爱米酱的博客 376

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

leetcode1——两数之和(简单)

leetcode1——两数之和(简单) 题目 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 ...

dedell的博客 182

LeetCode-1、两数之和-简单

LeetCode-1、两数之和-简单 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。 代码1: class Solution: def twoSum(self, nums, target): dictionar...

clover_my的博客 127

leetcode【简单】1、两数之和

题目:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。 解法1:暴力解法,两层遍历,第二层只需遍历第一层取的数以后的数,用时6440ms class Solution: def twoSum(self,nums,target): n = len(nums) for x in range(n): for y in range(x+1,n):

qq_40707462的博客 100

【力扣 简单 C++】1. 两数之和

【代码】【力扣 简单 C++】1. 两数之和。

2501_91922211的博客 339

[力扣] 1.两数之和 简单

描述: 给定一个整数数组 nums和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1] 较优解决方案: class Solution { public int[] twoSum(int[] nums,.

a_small_Bird233的博客 163

LeetCode -- 1:两数之和(简单)

本文介绍了LeetCode第1题"两数之和"的两种解法:暴力解法通过两层循环遍历所有组合,时间复杂度O(n²)。优化解法使用哈希表map存储数值和索引,只需一次遍历,通过查找target与当前值的差值是否存在表中来快速定位答案,时间复杂度降为O(n),空间复杂度O(n)。

wuhen_n的博客 1132

C++力扣1 两数之和(简单)

1、暴力法 双重遍历,笨办法,舍弃。 2、运用C++的STL库的find函数 遍历数组一次,每遍历到一个数,就用target减去该数得到一个差,去数组未遍历的部分用stl方法查找有没有这个差。找到了就输出。 class Solution { public: vector<int> twoSum(vector<int>& nums, int target) { vector<int> result; vector&l

Hillbox 4294
上一篇: Leetcode中等:134. 加油站
下一篇: Leetcode简单:9. 回文数
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

青少年编程小助手_Python

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值