分别计算每个的距离,然后放到字典中,最后对字典的键进行排序,放到列表中。
class Solution:
def allCellsDistOrder(self, R: int, C: int, r0: int, c0: int) -> List[List[int]]:
dic = {}
lis = []
for i in range(R):
for j in range(C):
distance = abs(i - r0) + abs(j - c0)
if distance not in dic:
dic[distance] = []
dic[distance].append([i, j])
else:
dic[distance].append([i, j])
for index in sorted(dic.keys()):
lis.extend(dic[index])
return lis