Help, could not pass the last case


  • 0

    '''
    Given an array of integers, find if the array contains any duplicates. Your function should return true if any value appears at least twice in the array, and it should return false if every element is distinct.
    '''

    class Solution:
        # @param {integer[]} nums
        # @return {boolean}
        def containsDuplicate(self, nums):
            new_set = set()
            for number in nums:
                if str(number) in new_set:
                    return True
                new_set = new_set | set(str(number))       
            return False

  • 1

    Here's what happens when you do what you do:

    >>> set(str(31415926))
    set(['1', '3', '2', '5', '4', '6', '9'])
    

    Of course that can't work. No idea why you're converting to strings in the first place. Sets have no trouble containing numbers:

    >>> {31415926}
    set([31415926])

  • 0

    Thank you so much Stephan, now it could be accepted, thank you so much!

    '''

    {
    def containsDuplicate(self, nums):
    new_set = set()
    for number in nums:
    if number in new_set:
    return True
    new_set.add(number)

        return False   
    

    }


Log in to reply
 

Looks like your connection to LeetCode Discuss was lost, please wait while we try to reconnect.