Python程式檢查程式設計師大會安排是否正確
假設我們有一個數字n,代表想要參加會議的程式設計師人數,我們還有一個數字列表,會議室中1代表一個程式設計師,0代表空位。條件是任何兩個程式設計師都不能相鄰而坐,我們必須檢查是否所有n個程式設計師都能參加會議。
因此,如果輸入類似於n = 2,convention = [0, 0, 1, 0, 0, 0, 1],則輸出為True。
為了解決這個問題,我們將遵循以下步驟:
- 對於範圍從0到conv大小的i,執行以下操作:
- 當i-1 < 0時,a := 0;否則 a := i-1
- 當i+1 >= conv的大小 時,b := conv的大小 -1;否則 b := i+1
- 如果conv[i] 等於 0 且 conv[a] 等於 0 且 conv[b] 等於 0,則
- conv[i] := 1
- n := n - 1
- 當n <= 0時返回true,否則返回0。
示例
class Solution: def solve(self, n, conv): for i in range(len(conv)): a=0 if i-1<0 else i-1 b=len(conv)-1 if i+1>=len(conv) else i+1 if conv[i]==0 and conv[a]==0 and conv[b]==0: conv[i]=1 n-=1 return n<=0 ob = Solution() n = 2 convention = [0, 0, 1, 0, 0, 0, 1] print(ob.solve(n, convention))
輸入
2, [0, 0, 1, 0, 0, 0, 1]
輸出
True
廣告