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

更新於:2020年10月6日

77 次檢視

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告