zoukankan      html  css  js  c++  java
  • 算法1----两数之和

    给定一个整数数列,找出其中和为特定值的那两个数。

    你可以假设每个输入都只会有一种答案,同样的元素不能被重用。

    示例:

    给定 nums = [2, 7, 11, 15], target = 9
    
    因为 nums[0] + nums[1] = 2 + 7 = 9
    所以返回 [0, 1]
    
    我的代码:(时间复杂度为n2),两个循环判断当前值与列表之后的值是否相等。
    def twoSum(self,nums, target):
            index=0
            while index<len(nums):      
                i=index+1
                while i<len(nums):
                    temp=target-nums[index]
                    if temp==nums[i]:
                        return [index,i]
                    else:
                        i+=1
                index+=1
    

     别人的代码:(时间复杂度为n)   用字典的key,value来存储两个值,其中key用来存储nums的值,value用来存储nums的索引。

    def twoSum(nums,target):
        dic={}
        for i,j in enumerate(nums):
            if target-j in dic:
               return [dic[target-j],i]
            else:
                dic[j]=i
  • 相关阅读:
    基于C/S模式的程序更新下载
    拓展方法
    主从级GridView
    using 的用法
    五大数据类型
    redis的主从复制原理及步骤
    redis的发布订阅
    redis的持久化
    redis的事务
    配置文件详解
  • 原文地址:https://www.cnblogs.com/Lee-yl/p/8809017.html
Copyright © 2011-2022 走看看