Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

โปรแกรมตรวจสอบการจัดประชุมโปรแกรมเมอร์ว่าถูกต้องหรือไม่ในภาษา Python


สมมติว่าเรามีตัวเลข n ซึ่งหมายถึงโปรแกรมเมอร์ที่ต้องการเข้าร่วมการประชุม และเรายังมีรายการตัวเลขด้วย การประชุมที่ 1 หมายถึงโปรแกรมเมอร์ และ 0 หมายถึงพื้นที่ว่าง ตอนนี้เงื่อนไขคือไม่มีโปรแกรมเมอร์สองคนนั่งติดกันเราต้องตรวจสอบว่าโปรแกรมเมอร์ n ทั้งหมดสามารถเข้าร่วมการประชุมได้หรือไม่

ดังนั้น หากอินพุตเป็น n =2 แบบแผน =[0, 0, 1, 0, 0, 0, 1] ผลลัพธ์จะเป็น True

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -

  • สำหรับผมอยู่ในช่วง 0 ถึงขนาดของ Conv. ทำ
    • a:=0 เมื่อ i-1 <0 มิฉะนั้น i-1
    • b:=ขนาดของ Conv -1 เมื่อ i+1>=ขนาดของ Conv. มิฉะนั้น i+1
    • หาก Conv[i] เหมือนกับ 0 และ conv[a] เหมือนกับ 0 และ conv[b] เหมือนกับ 0 ดังนั้น
      • Conv[i]:=1
      • n :=n - 1
  • คืนค่าจริงเมื่อ n <=0 มิฉะนั้น 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