สมมติว่าเรามีอาร์เรย์ที่เรียกว่า 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