Two Sum

这个系列算是出于个人兴趣开的一个新坑吧,最近看到同学刷LeetCode算法题,就想写写那些可以一行Python代码写出来的题目,因此本专栏的文章的解题方式效率不做保证,只为追求“一行的浪漫”。

题目

Two Sum_第1张图片

题解

简单解释一下题目,给定一个整型数组nums和一个目标整数target,要求找到两个nums中的数字,它们的和为target,返回这两个数字的下标即可。题目假定所有输入一定会有唯一解,并且一个数字不可以使用两次。本题难度为Easy。

代码

实现代码也很简单,就是二重循环硬遍历即可,代码如下,因为真的很简单,这里就不多做解释了。

class Solution:
    def twoSum(self, nums: List[int], target: int) -> List[int]:
        return [[i,j] for i in range(len(nums)) for j in range(i+1, len(nums)) if nums[i]+nums[j] == target][0]

# 下面为论坛里一个更高效的实现
class Solution:
    def twoSum(self, nums, target):
        return [x for x in range(len(nums)) if (target-nums[x]) in (nums[:x]+nums[x+1:])]

提交反馈如下。

在这里插入图片描述

你可能感兴趣的:(单行力扣)