码迷,mamicode.com
首页 > 其他好文 > 详细

剑指Offer 57

时间:2019-06-14 17:54:17      阅读:85      评论:0      收藏:0      [点我收藏+]

标签:个数   for   剑指offer   enc   和为s的两个数字   pre   class   turn   tin   

和为S的两个数字:

 1 # -*- coding:utf-8 -*-
 2 class Solution:
 3     def FindNumbersWithSum(self, array, tsum):
 4         n = len(array)
 5         i,j = 0,n-1
 6         while i<j:
 7             cur = array[i] + array[j]
 8             if cur == tsum:
 9                 return [array[i],array[j]]
10             if cur < tsum:
11                 i += 1
12             else:
13                 j -= 1
14         return []
15         # write code here

 

和为S的连续正数序列:

 1 # -*- coding:utf-8 -*-
 2 class Solution:
 3     def FindContinuousSequence(self, tsum):
 4         start,end,cursum = 1,2,3
 5         result = []
 6         while end < tsum:
 7             if cursum > tsum:
 8                 cursum -= start
 9                 start += 1
10             elif cursum < tsum:
11                 end += 1
12                 cursum += end
13             else:
14                 l = []
15                 for i in range(start,end+1):
16                     l.append(i)
17                 result.append(l)
18                 cursum -= start
19                 start += 1
20                 end += 1
21                 cursum += end
22         return result
23         # write code here

 

剑指Offer 57

标签:个数   for   剑指offer   enc   和为s的两个数字   pre   class   turn   tin   

原文地址:https://www.cnblogs.com/asenyang/p/11024609.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!