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

จำนวนที่ใหญ่ที่สุดใน Python


สมมติว่ามีรายการของจำนวนเต็มที่ไม่ติดลบ เราต้องจัดเรียงพวกมันให้เป็นจำนวนที่มากที่สุด ดังนั้นหากอาร์เรย์คือ [10, 2] จำนวนที่มากที่สุดจะเป็น 210

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

  • จัดเรียงตัวเลขโดยที่ตัวเลขที่มีนัยสำคัญมากกว่าตำแหน่งแรก เช่น การจัดเรียงตัวเลข หลังจากนั้นก็รวมตัวเลขจากอาร์เรย์

ตัวอย่าง

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

from functools import cmp_to_key
class Solution(object):
   def largestNumber(self, nums):
      for i in range(len(nums)):
         nums[i] = str(nums[i])
      nums.sort(key=cmp_to_key(lambda x,y:self.compare(x,y)))
      return "".join(nums).lstrip("0") or "0"
   def compare(self,x,y):
      if x+y<y+x:
         return 1
      elif x+y == y+x:
         return 0
      else:
         return -1
ob1 = Solution()
print(ob1.largestNumber([3,30,5,6,8]))

อินพุต

[3,30,5,6,8]

ผลลัพธ์

"865330"