LeetCode 两数之和 解法 (转发篇)

题:两数之和

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

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)):# 计算需要找到的下一个目标数字res = target-nums[i]# 遍历剩下的元素,查找是否存在该数字if res in nums[i+1:]:# 若存在,返回答案。这里由于是两数之和,可采用.index()方法# 获得目标元素在nums[i+1:]这个子数组中的索引后,还需加上i+1才是该元素在nums中的索引return [i, nums[i+1:].index(res)+i+1]

python解法二:

def twoSum(nums, target):lens = len(nums) #测出列表长度j=-1for i in range(lens):if (target - nums[i]) in nums:if (nums.count(target - nums[i]) == 1)&(target - nums[i] == nums[i]):#如果num2=num1,且nums中只出现了一次,说明找到是num1本身。continueelse:j = nums.index(target - nums[i],i+1) #index(x,i+1)是从num1后的序列后找num2                breakif j>0:return [i,j]else:return []

python解法三:

def twoSum(nums, target):lens = len(nums)j=-1for i in range(1,lens):temp = nums[:i]if (target - nums[i]) in temp:j = temp.index(target - nums[i])breakif j>=0:return [j,i]

python解法四:

def twoSum(nums, target):hashmap={}for ind,num in enumerate(nums):hashmap[num] = indfor i,num in enumerate(nums):j = hashmap.get(target - num)if j is not None and i!=j:return [i,j]

涉及知识

  1. 数据容器——列表
  2. 函数的基本定义
  3. 方法的使用
  4. for循环
  5. 判断语句if……else

程序员刷题必备

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/771200.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

React Native 应用打包

引言 在将React Native应用上架至App Store时,除了通常的上架流程外,还需考虑一些额外的优化策略。本文将介绍如何通过配置App Transport Security、Release Scheme和启动屏优化技巧来提升React Native应用的上架质量和用户体验。 配置 App Transport…

Python 构建项目工具库之pybuilder使用详解

概要 在Python项目开发中,良好的构建和自动化流程是非常重要的。PyBuilder是一个用于构建Python项目的工具,它提供了简单易用的方式来定义和管理项目的构建过程,包括依赖管理、测试、代码质量检查等。本文将深入探讨PyBuilder库的使用方法、功能特性以及如何利用它来构建优…

SQL映射文件

一、SQL映射的xml文件 1.1 mapper元素 二、select 三、别名与Java映射 四、resultMap 啊

一道很有意思的题目(考初始化)

这题很有意思,需要你对初始化够了解才能解出来 ,现在我们来看一下吧。 这题通过分析得出考的是初始化。关于初始化有以下知识点 (取自继承与多态(继承部分)这文章中) 所以根据上方那段知识点可知&#xf…

Linux/Backdoor

Backdoor Enumeration nmap 第一次扫描发现系统对外开放了22,80和1337端口,端口详细信息如下 22端口对应的是ssh服务,80端口使用Apache,title上写着backdoor,而且可以看出使用了wordpress,1337端口暂时还…

HyperWorks2023 下载地址及安装教程

HyperWorks是一套由Altair Engineering开发的集成化仿真平台。这个平台涵盖了许多不同领域的仿真和优化应用,包括结构分析、流体力学、多体动力学、优化、电磁场分析等。 HyperWorks提供了一系列强大的工具和模块,用于进行复杂的工程仿真和优化任务。它…

Rust 的 HashMap 特定键值元素值的累加方法

在Rust中,如果你想要对HashMap中特定键对应的值进行累加操作,你需要首先检查该键是否已存在。如果存在,则取出其值,进行累加,然后将结果存回HashMap。如果不存在,则可能需要插入一个新的键值对,…

Unity VideoPlayer 全屏到 FGUI

需求: 利用VideoPlayer将视频全屏显示到FGUI上。 解决方案: 在FGUI上创建一个全屏UI,创建一个装载器,大小设置为全屏。 设置 VideoPlayer 的渲染方式为 RenderMode.RenderTexture. 创建RenderTexture,(将视…

数据结构 之 队列习题 力扣oj(附加思路版)

优先级队列 #include<queue> --队列 和 优先级队列的头文件 优先级队列&#xff1a; 堆结构 最大堆 和 最小堆 相关函数&#xff1a; front() 获取第一个元素 back() 获取最后一个元素 push() 放入元素 pop() 弹出第一个元素 size() 计算队列中元素…

简单了解synchronized

什么是synchronized synchronized是Java提供的一个关键字&#xff0c;用于方法或者代码块&#xff0c;保证并发安全。 synchronized使用场景 同步代码块&#xff08;原子性&#xff09; synchronized可以用在方法上&#xff0c;或者用在代码块。 可锁的对象可以是普通对象…

JQ操作Dom(下)

一、设置样式 <div>设置样式</div> <script type"text/javascript">//设置一条样式$(div).css(background-color,red);//设置多条样式使用类名的方式 </script> <div>设置样式 </div> <script type"text/javascript&q…

C++语法|C++八股|内存泄漏杂谈

文章目录 定义分类防⽌内存泄露的方法 定义 内存泄漏是指已分配的内存未能成功释放&#xff0c;并且程序失去了对该内存的控制&#xff0c;因此无法再次使用或释放。随着程序的运行&#xff0c;内存泄漏会逐渐积累&#xff0c;最终可能导致内存不足&#xff0c;影响程序的性能…

Spring Boot设置io临时目录

在部署springboot项目&#xff0c;使用MultipartFile上传文件会出现以下异常 Failed to parse multipart servlet request; nested exception is java.io.IOException: The temporary upload location [/tmp/tomcat.3016596448718765136.18001/work/Tomcat/localhost/xx] is …

【ZZULI数据结构实验一】多项式的三则运算

【ZZULI数据结构实验一】多项式的四则运算 ♋ 结构设计♋ 方法声明♋ 方法实现&#x1f407; 定义一个多项式类型并初始化---CreateDataList&#x1f407; 增加节点---Getnewnode&#x1f407; 打印多项式类型的数据-- PrintPoly&#x1f407; 单链表的尾插--Listpush_back&…

C++ 优先级与结合性

运算优先级和结合性 表达式有多种运算符混合使用时&#xff0c;求解表达式的值&#xff0c;首先要解决各种运算符的运算优先次序问题。即&#xff0c;优先级和结合性。 例如&#xff1a;下面表达式的值取决于5种运算符的优先次序。 优先级是指不同级别运算符之间的运算次序&am…

VC++ class wizard介绍

Visual C的集成开发环境向用户提供了一个功能很强的操作类的工具—ClassWizard&#xff0c;我们可以利用该工具非常方便地向应用程序中添加类、向类中添加消息处理函数、成员函数、以及添加成员变量等。 一 、ClassWizard简介 ClassWizard既可以操作由AppWizard在应用程序框架…

海量数据处理项目-账号微服务和流量包数据库表+索引规范(上)

海量数据处理项目-账号微服务和流量包数据库表索引规范&#xff08;上&#xff09; 第1集 账号微服务和流量包数据库表索引规范讲解《上》 简介&#xff1a;账号微服务和流量包数据库表索引规范讲解 短链平台大课难度层级曲线图&#xff1a;由浅入深 索引规范 主键索引名为…

卡行领航家用户端是怎么拼团怎么挣钱的?

#领航家代理政策/怎么代理/奖金制度/双2.0模式# 全国V&#xff1a;ok1234vip 领航家用户端&#xff1a;0.52费率 一次拼团0.44费率 两次拼团0.36费率 三次拼团0.2费率 ………… 十次拼团&#xff0c;客户每月挣20480 领航家代理端&#xff1a;无押激活返现高达166/台 分润万5-万…

Shell教程_不同Shell中管道操作符的差异

Shell教程_不同Shell中管道操作符的差异 不同的 Unix / Linux Shell (如 Bash, Zsh, Csh 和 Fish 等) 在语法方面存在一些差异, 主要是因为它们采用了不同的设计理念和语法规则。 这些差异在编写 Shell 脚本或在命令行中使用不同的 Shell 时可能会引起困惑和问题。 因此, 有…

P1383 高级打字机(可持续化线段树)

题目描述 早苗入手了最新的高级打字机。最新款自然有着与以往不同的功能&#xff0c;那就是它具备撤销功能&#xff0c;厉害吧。 请为这种高级打字机设计一个程序&#xff0c;支持如下 33 种操作&#xff1a; T x&#xff1a;Type 操作&#xff0c;表示在文章末尾打下一个小…