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

ตรวจสอบว่าการเข้ารหัสแสดงถึงสตริงไบนารีที่ไม่ซ้ำกันใน Python . หรือไม่


สมมติว่าเรามีอาร์เรย์ที่เรียกว่า nums แทนการเข้ารหัสของสตริงไบนารีขนาด k เราต้องตรวจสอบว่าการเข้ารหัสที่ระบุพบสตริงไบนารีหรือไม่ ที่นี่การเข้ารหัสมีจำนวน 1 วินาทีที่ต่อเนื่องกันซึ่งคั่นด้วย 0 เดี่ยว

ดังนั้น หากอินพุตมีค่าเท่ากับ nums =[4, 2, 3] k =11 เอาต์พุตจะเป็น True เนื่องจากมีสตริงไบนารีเช่น 11110110111 ของ k =11

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

  • ผลรวม :=ผลรวมขององค์ประกอบทั้งหมดเป็น nums
  • ผลรวม :=รวม + ขนาดของตัวเลข - 1
  • คืนค่า จริง เมื่อผลรวมเท่ากับ k ไม่เช่นนั้น เท็จ

ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -

ตัวอย่าง

def solve(nums, k):
   total = sum(nums)
   total += len(nums) - 1
   return total == k
nums = [4, 2, 3]
k = 11
print(solve(nums, k))

อินพุต

[4, 2, 3], 11

ผลลัพธ์

True