leetcode- 两数之和
生活随笔
收集整理的這篇文章主要介紹了
leetcode- 两数之和
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
原文
最容易想到的
import numpy as np a=np.random.randint(100,size=10)n=len(a) c=a[n-2]+a[n-1]for i in range(n):for j in range(i,n):if a[i]+a[j]==c:print(i,j) import numpy as np a=np.random.randint(100,size=10)n=len(a) c=a[n-2]+a[n-1]d={}temp=[] for i in range(n):if a[i] in d:print(i,d[a[i]])temp.append([i,d[a[i]]])else:d[c-a[i]]=iprint(a[temp[0][0]],'+',a[temp[0][1]],'=',c) # # -*- coding: utf-8 -*- """ Spyder EditorThis is a temporary script file. """ import time import numpy as np'''class Solution:def twoSum(self,nums, target):""":type nums: List[int]:type target: int:rtype: List[int]"""#用len()方法取得nums列表的長度n = len(nums)#x取值從0一直到n(不包括n)for x in range(n):#y取值從x+1一直到n(不包括n)#用x+1是減少不必要的循環(huán),y的取值肯定是比x大for y in range(x+1,n):#假如 target-nums[x]的某個(gè)值存在于nums中if nums[y] == target - nums[x]:#返回x和yreturn x,ybreakelse:continue '''class Solution:def twoSum(self,nums, target):""":type nums: List[int]:type target: int:rtype: List[int]"""#用len()方法取得nums列表長度n = len(nums)#創(chuàng)建一個(gè)空字典d = {}for x in range(n):a = target - nums[x]#字典d中存在nums[x]時(shí)if nums[x] in d:return d[nums[x]],x#否則往字典增加鍵/值對else:d[a] = x # print(d)#邊往字典增加鍵/值對,邊與nums[x]進(jìn)行對比a=np.random.randint(10000000,size=100000)n=len(a) c=a[n-2]+a[n-1]cc=Solution() t1=time.time() cc1=cc.twoSum(list(a),c) print((t1-time.time())*1000,'毫秒')print(cc1)總結(jié)
以上是生活随笔為你收集整理的leetcode- 两数之和的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python 快速排序
- 下一篇: 为什么batchnormalize 有效