2018年11月4日 星期日

Python notes: LeetCode第一題: Two Sum

為了挑戰Python程度,開始了LeetCode人森阿

題目:
https://leetcode.com/problems/two-sum/

Given an array of integers, return indices of the two numbers such that they add up to a specific target.
You may assume that each input would have exactly one solution, and you may not use the same element twice.
Example:
Given nums = [2, 7, 11, 15], target = 9,

Because nums[0] + nums[1] = 2 + 7 = 9,
return [0, 1].

My code:

class Solution(object):

    def twoSum(self, nums, target):

        """

        :type nums: List[int]

        :type target: int

        :rtype: List[int]

        """

        i=0

        while len(nums)>1:

            a=nums.pop(0)

            if target-a in nums:

                return (i, i+nums.index(target-a)+1)

            i=i+1


想說只用一個while loop應該還算快,結果還是花了664ms, 只贏了40.95%的人。 前面幾名不用100ms那是怎麼寫的!!??

沒有留言:

張貼留言

Thanks for your message.

Python notes: Calculate delay time by WinDBG log

用WinDBG開Event Timestamps可以產生下面格式的log: Fri Sep 21 18:43:50.946 2018 (UTC + 8:00): @#$#^$@#$^ 以下python code用來找出兩個指定log中的時間差