【发布时间】:2021-02-19 16:12:05
【问题描述】:
我为数据科学学习了 Python,最近 Google 邀请我参加 foobar 挑战。第一个问题非常简单,我能够在本地机器上获得所需的输出,但 foobar 中甚至没有一个测试用例通过。请在下面找到问题和代码。
给定两个几乎相同的工作人员 ID x 和 y 列表,其中一个列表包含一个附加 ID,编写一个函数 solution(x, y) 来比较这些列表并返回附加 ID。
例如,给定列表 x = [13, 5, 6, 2, 5] 和 y = [5, 2, 5, 13],函数 solution(x, y) 将返回 6,因为列表 x 包含整数 6 而列表 y 不包含。给定列表 x = [14, 27, 1, 4, 2, 50, 3, 1] 和 y = [2, 4, -4, 3, 1, 1, 14, 27, 50],函数解( x, y) 将返回 -4,因为列表 y 包含整数 -4 而列表 x 不包含。
下面是我编写的第一个代码,它在我的本地机器上运行,但在 foobar 上的所有测试用例都失败了。
def solution(x,y):
set1=set(x)
set2=set(y)
answer=list(set1^set2)
for i in answer:
print(i)
经过研究,我了解到 foobar 调用这个函数的方式是:solution.solution(x,y) 所以我尝试在类中定义一个类和方法,这在我的本地机器上再次运行良好,但像往常一样,foobar 中的所有测试用例都失败了。请找到我尝试过的代码的不同变体。下面的所有代码都可以在我的本地机器上与 foobar 的可见测试用例一起正常工作,但在 foobar 上却失败了。
请帮帮我。我只剩下 2 天的时间来解决这个问题。
class solution:
def __init__(self,x,y):
self.x=x
self.y=y
def solution(x,y):
set1=set(x)
set2=set(y)
answer=list(set1^set2)
for i in answer:
print(i)
class solution:
def solution(x,y):
set1=set(x)
set2=set(y)
answer=list(set1^set2)
for i in answer:
print(i)
class solution:
@staticmethod
def solution(x,y):
set1=set(x)
set2=set(y)
answer=list(set1^set2)
for i in answer:
print(i)
【问题讨论】:
标签: python python-3.x oop