สมมติว่าเรามีจำนวนอาร์เรย์ที่มีขนาดด้าน n เราต้องตรวจสอบว่าเราสามารถสร้างรูปหลายเหลี่ยมที่มีด้านที่กำหนดทั้งหมดได้หรือไม่
ดังนั้น หากอินพุตมีค่าเท่ากับ nums =[3, 4, 5] ผลลัพธ์จะเป็น True เพราะมีสามด้าน และผลรวมของสองด้านใดๆ ก็ตามจะมากกว่าด้านที่ 3 ในการแก้ปัญหานี้ เราจะใช้คุณสมบัตินี้โดยที่ด้านหนึ่งยาวน้อยกว่าผลรวมของด้านอื่นๆ ทั้งหมด
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
- เรียงเลขรายการ
- ถ้าองค์ประกอบสุดท้ายของ nums <ผลรวมขององค์ประกอบทั้งหมดใน nums ยกเว้นอันสุดท้าย แล้ว
- คืนค่า True
- คืนค่าเท็จ
ตัวอย่าง
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
def solve(nums): nums.sort() if nums[-1] < sum(nums[:-1]): return True return False nums = [3, 4, 5] print (solve(nums))
อินพุต
[3, 4, 5]
ผลลัพธ์
True