在 Python 中查詢給定 3 個頂點的矩形的第四個頂點的座標
假設我們有一個大小為 Q * P 的網格,該網格正好包含三個星號 '*',其他每個單元格都包含點 '.',其中 '*' 代表矩形的頂點。我們必須找到缺失頂點的座標。這裡我們將考慮基於 1 的索引。
因此,如果輸入類似於 grid = [ ".*.", "...", "*.*" ],則輸出將為 [1, 3],這是缺失的座標。
為了解決這個問題,我們將遵循以下步驟:
p := 行數
q := 列數
row := 為所有行號建立一個對映,關聯值為 0
col := 為所有列號建立一個對映,關聯值為 0
對於範圍從 0 到 p 的 i,執行以下操作
對於範圍從 0 到 q 的 j,執行以下操作
如果 grid[i, j] 與 '*' 相同,則
row[i] := row[i] + 1
col[j] := col[j] + 1
對於 row 中的每個 k,v,執行以下操作
如果 v 與 1 相同,則
x_coord := k;
對於 col 中的每個 k,v,執行以下操作
如果 v 與 1 相同,則
y_coord := k;
返回(x_coord + 1, y_coord + 1)
示例
讓我們看看以下實現以獲得更好的理解:
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)
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP