Python มีไลบรารีที่ยอดเยี่ยมในการจัดการข้อมูล เราอาจพบความจำเป็นในการค้นหาผลคูณสูงสุดของตัวเลขสองตัวต่อเนื่องกันซึ่งเป็นส่วนหนึ่งของสตริงใหญ่ ในบทความนี้เราจะมาดูวิธีที่จะทำให้สำเร็จ
มีซิปและขนาดสูงสุด
เราแปลงสตริงเป็นรายการ จากนั้นสร้างคู่จากองค์ประกอบที่ต่อเนื่องกันด้วยความช่วยเหลือของการหั่น ใช้ * เราคูณทั้งคู่แล้วนำค่าสูงสุดจากผลลัพธ์ของการคูณจากแต่ละคู่
ตัวอย่าง
Astring = '5238521'
# Given string
print("Given String : ",Astring)
# Convert to list
Astring = list(Astring)
print("String converted to list:\n",Astring)
# Using max()
res = max(int(a) * int(b) for a, b in zip(Astring, Astring[1:]))
# Result
print("The maximum consecutive product is : " ,res) ผลลัพธ์
การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -
Given String : 5238521 String converted to list: ['5', '2', '3', '8', '5', '2', '1'] The maximum consecutive product is : 40
พร้อมแผนที่และสูงสุด
เราใช้แนวทางที่คล้ายคลึงกันข้างต้น แต่เราใช้ฟังก์ชันแผนที่เพื่อสร้างคู่ของจำนวนเต็มต่อเนื่องกัน จากนั้นใช้ฟังก์ชัน mul จากโมดูลตัวดำเนินการเพื่อคูณตัวเลขในคู่นี้ สุดท้ายใช้ฟังก์ชัน max เพื่อรับค่าสูงสุดของผลลัพธ์
ตัวอย่าง
from operator import mul
Astring = '5238521'
# Given string
print("Given String : ",Astring)
# Convert to list
Astring = list(Astring)
print("String converted to list:\n",Astring)
# Using max()
res = max(map(mul, map(int, Astring), map(int, Astring[1:])))
# Result
print("The maximum consecutive product is : " ,res) ผลลัพธ์
การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -
Given String : 5238521 String converted to list: ['5', '2', '3', '8', '5', '2', '1'] The maximum consecutive product is : 40