zoukankan      html  css  js  c++  java
  • TwoSum

    On-Site Question 1 - SOLUTION

    Problem

    Given a list of integers and a target number, write a function that returns a boolean indicating if its possible to sum two integers from the list to reach the target number

    Requirements

    Try pen/paper before coding out your solution

    You can not use an integer element twice. Optimize for time over space

     

    Solution

    For this problem we will take advantage of a set data structure. We will make a single pass through the list of integers, treating each element as the first integer of our possible sum.

    At each iteration we will check to see if there is a second integer which will allow us hit the target number, adn we will use a set to check if we've already seen it in our list.

    We will then update our seen set by adding the current number in the iteration to it.

    Let's see this coded out:

     
    def solution(lst,target):
        
        # Create set to keep track of duplicates
        seen = set()
        
        # We want to find if there is a num2 that sums with num to reach the target
        
        for num in lst:
            
            num2 = target - num
            
            if num2 in seen:
                return True
            
            seen.add(num)
            
        # If we never find a pair match which creates the sum
        return False

    In [6]:
    solution([1,3,5,1,7],4)
    
    Out[6]:
    True
    In [7]:
    solution([1,3,5,1,7],14)
    
    Out[7]:
    False
     

    Good Job!

  • 相关阅读:
    unitest 测试集 实例
    python3 设置滚动条
    python3 mail
    wordpress +window 走起~
    获取在线python 文档
    chrome 自动加载flash
    报错 hint: Updates were rejected because the remote contains work that you do 解决方法
    Bitcode
    Autorelease
    atomic
  • 原文地址:https://www.cnblogs.com/prmlab/p/6953734.html
Copyright © 2011-2022 走看看