假设我们有一个大小为 Q * P 的网格,这个网格正好包含三个星号“*”,每隔一个单元格就有一个点“.”,其中“*”代表矩形的顶点。我们必须找到缺失顶点的坐标。这里我们将考虑基于 1 的索引。
因此,如果输入类似于 grid = [ ".*.", "...", "*.*" ],那么输出将是 [1, 3],这是缺失的坐标。
让我们看看以下实现以获得更好的理解 -
def get_missing_vertex(grid) : p = len(grid) q = len(grid[0]) row = dict.fromkeys(range(p), 0) col = dict.fromkeys(range(q), 0) for i in range(p) : for j in range(q) : if (grid[i][j] == '*') : row[i] += 1 col[j] += 1 for k,v in row.items() : if (v == 1) : x_coord = k; for k,v in col.items() : if (v == 1) : y_coord = k; return (x_coord + 1, y_coord + 1) grid = [".*.", "...", "*.*"] print(get_missing_vertex(grid))
[".*.", "...", "*.*"]输出结果
(1, 3)