首页 > 其他 > 详细

167. Two Sum II - Input array is sorted

时间:2018-11-19 23:51:24      阅读:293      评论:0      收藏:0      [点我收藏+]

1. Question:

167. Two Sum II - Input array is sorted

url : https://leetcode.com/problems/two-sum-ii-input-array-is-sorted/

Given an array of integers that is already sorted in ascending order, find two numbers such that they add up to a specific target number.

The function twoSum should return indices of the two numbers such that they add up to the target, where index1 must be less than index2.

Note:

  • Your returned answers (both index1 and index2) are not zero-based.
  • You may assume that each input would have exactly one solution and you may not use the sameelement twice.

Example:

Input: numbers = [2,7,11,15], target = 9
Output: [1,2]
Explanation: The sum of 2 and 7 is 9. Therefore index1 = 1, index2 = 2.

2. Solution:
class Solution(object):
    def twoSum(self, numbers, target):
        """
        :type numbers: List[int]
        :type target: int
        :rtype: List[int]
        """

        size = len(numbers)
        i = 0
        j = size - 1

        while i < j:
            tmp_sum = numbers[i] + numbers[j]
            if tmp_sum == target:
                return (i + 1, j + 1)
            if tmp_sum > target:
                j -= 1
            if tmp_sum < target:
                i += 1

3. Complexity Analysis

Time Complexity : O(N)

Space Complexity: O(1)

167. Two Sum II - Input array is sorted

原文:https://www.cnblogs.com/ordili/p/9986471.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!