LeetCode算法题——两数之和(python)

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

你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。

示例:

Python
给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1] https://leetcode-cn.com/problems/two-sum/submissions/
1
2
3
4
5
6
7
给定 nums = [ 2 , 7 , 11 , 15 ] , target = 9
 
因为 nums [ 0 ] + nums [ 1 ] = 2 + 7 = 9
所以返回 [ 0 , 1 ]
 
https : / / leetcode - cn . com / problems / two - sum / submissions /
 
Python
class Solution(object): def twoSum(self, nums, target): if len(nums) <= 1: return -1 # 1. 首先判断nums个数 如果小于等于1 返回 -1 dic = {} # 2. 创建个临时的dict, 用于存储临时变量 for i, num in enumerate(nums): # 3. enumerate 函数的使用,遍历索引和值 if num in dic: return [dic[num], i] # 如果在 就返回两个数索引 else: # 4.如果不在字典中 则把(target - num)作为key存储,num的索引作为值 dic[target - num] = i
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class Solution ( object ) :
     def twoSum ( self , nums , target ) :
         if len ( nums ) <= 1 :
             return - 1
         # 1. 首先判断nums个数 如果小于等于1 返回 -1
         dic = { }
         # 2. 创建个临时的dict, 用于存储临时变量
         for i , num in enumerate ( nums ) :
             # 3. enumerate 函数的使用,遍历索引和值
             if num in dic :
                 return [ dic [ num ] , i ]
                 # 如果在 就返回两个数索引
             else :
                 # 4.如果不在字典中 则把(target - num)作为key存储,num的索引作为值
                 dic [ target - num ] = i
 
 



  • zeropython 微信公众号 5868037 QQ号 5868037@qq.com QQ邮箱
【无人机】基于改进粒子群算法的无人机路径规划研究[和遗传算法、粒子群算法进行比较](Matlab代码实现)内容概要:本文围绕基于改进粒子群算法的无人机路径规划展开研究,重点探讨了在复杂环境中利用改进粒子群算法(PSO)实现无人机三维路径规划的方法,并将其与遗传算法(GA)、标准粒子群算法等传统优化算法进行对比分析。研究内容涵盖路径规划的多目标优化、避障策略、航路点约束以及算法收敛性和寻优能力的评估,所有实验均通过Matlab代码实现,提供了完整的仿真验证流程。文章还提到了多种智能优化算法在无人机路径规划中的应用比较,突出了改进PSO在收敛速度和全局寻优方面的优势。; 适合人群:具备一定Matlab编程基础和优化算法知识的研究生、科研人员及从事无人机路径规划、智能优化算法研究的相关技术人员。; 使用场景及目标:①用于无人机在复杂地形或动态环境下的三维路径规划仿真研究;②比较不同智能优化算法(如PSO、GA、蚁群算法、RRT等)在路径规划中的性能差异;③为多目标优化问题提供算法选型和改进思路。; 阅读建议:建议读者结合文中提供的Matlab代码进行实践操作,重点关注算法的参数设置、适应度函数设计及路径约束处理方式,同时可参考文中提到的多种算法对比思路,拓展到其他智能优化算法的研究与改进中。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值