程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

Sword finger offer python:57 And are two numbers of S

編輯:Python

subject : Enter an ascending array and a number S, Find two numbers in an array , Yes, their sum is exactly S, If the sum of many pairs of numbers is equal to S, The product of two numbers is the smallest .

Code :

class Solution:
def func(self , nums , s):
if len(nums) <= 1:
return []
lo , hi = 0 , len(nums) - 1
while lo < hi:
if nums[lo] + nums[hi] < s:
lo += 1
if nums[lo] + nums[hi] > s:
hi -= 1
return [nums[lo] , nums[hi]]
return []

The returned is the combination with the smallest product .


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved