笔试题
一个舞蹈学院提供早晚课程。每个加入该学院的人都会获得一个唯一的ID,人们可以选择任意数量的舞蹈形式。有些在任何舞蹈形式上都不是很完美的人早晚课程都参加。舞蹈教练为参加课程的所有人准备了一份早晚课程的单独列表,人员的ID在列表中的重复次数与他/她选择的舞蹈形式的数量相同。
该学院计划在年度活动中展示各种舞蹈形式。该学院想找一些能够在最后一天引领该活动的引领者。因此,教练正在寻找各种舞蹈形式中完美的舞者。根据教练的说法,完美的舞者是只上早课或晚课中一种课程的人。
写一个算法来找出教练选择来引领活动的完美舞者的人数。如果一个舞者在一种以上的舞蹈形式是完美的,则他/她将被计算的次数与他/她完美的舞蹈形式的数量相同。
输入
该函数/方法的输入包括四个参数:
countMorning,一个整数,表示上早课的人数;
countEvening,一个整数,表示上晚课的人数;
morningList,一个整数列表,表示上早课人员的ID;
eveningList,一个整数列表,表示上晚课人员的ID。
输出
返回一个整数,表示教练选择来引领活动的完美舞者的人数。
示例
输入:
countMorning = 11
countEvening = 10
morningList = [1,1,2,3,4,5,5,7,6,9,10]
eveningList = [11,12,13,4,5,6,7,18,19,20]
输出
12
解释
早晚两个课程都参加的人员为4,5,6,7
只参加早课或晚课的完美舞者为[1,1,2,3,9,10,11,12,13,18,19,20]
所以,所有舞蹈形式的完美舞者人数是12。
参考答案
countMorning = 11
countEvening = 10
morningList = [1,1,2,3,4,5,5,7,6,9,10]
eveningList = [11,12,13,4,5,6,7,18,19,20]
ME = []
result = []
for i in morningList:
if i in eveningList:
ME.append(i)
for i in morningList:
if i not in ME:
result.append(i)
for i in eveningList:
if i not in ME:
result.append(i)
print(result)
print(len(result))