题目理解(Python)

图片说明
首先,理解题目描述:
住户以横坐标形式的一维坐标系存在
n,m,a,x分别代表:
n,住户数量。
m,方案个数。
a,居民当前居住位置。
x,方案中对应牛牛想要搬迁到的具***。
则我们通过编程思维则可理解为
n = len(a) 即当前所有住户的数量
m = len(x) 即当前所有方案的数量
a列表中的每个元素即对应 横坐标数字即每个用户居住的位置
x列表中的每个元素也对应 横坐标数字即牛牛将要搬迁至的位置
如图所示:
图片说明
其次我们通过题意,明确我们需要求出搬家后与最近的居民的距离为多少
则构建编程思路
我们需要比较搬迁位置与每个住户间的距离,并求出最短距离,且最终以
[1,1]列表的形式返回

class Solution:
    @staticmethod
    def close(a,x):   //因为实际我们用到的参数只有这两个,所以我就没有写n,m
        alldistancelist = []
        finallist = []
        for i in x:
            for j in a:
                distance = abs(i-j)    //abs()求距离差值的绝对值
                alldistancelist.append(distance)    //append()函数添加至空列表中
            mindistance =min(set(alldistancelist))    //set()列表去重后通过min()求出最短距离
            finallist.append(mindistance)    //将最短距离添加至最终的返回列表中
            alldistancelist.clear()    //将alldistancelist列表清空,若有两个及以上的搬迁位置时,保证每次循环使用时,初始值为空列表
        return finallist

《制作不易,多多点赞,新手上路,不喜勿喷》