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