頻道欄目
首頁 > 程序開發 > Web開發 > Python > 正文
Python面試題:給定一組非負整數,重新排列它們的順序使之組成一個最大的整數
2018-07-27 14:40:45         來源:ZJRN1027的博客  
收藏   我要投稿

題目:

\

方法:

class Solution:
 
 def cmp(self,x,y):
  return (x > y) - (x < y)
 
 def comper(self,x,nums):
  temp = 0
  for n in nums:
n = str(n)
temp += self.cmp(int(x+n),int(n+x))
#print(self.cmp(int(x),n))
  return temp
 
 
 def largestNumber(self, nums):
  """
  :type nums: List[int]
  :rtype: str
  """
  temp_list = [str(x) for x in nums]
  temp_list.sort(key=lambda x:self.comper(x,nums),reverse=True)
  return "".join(temp_list).lstrip("0") or "0"
  

cmp方法比較x與y的大小,x>y返回1,x

comper方法將傳入的x依次與nums中的元素比較x在前組合,與nums元素在前組合的大小

并且累加cmp返回的值

最后返回主函數,將nums按照帶入comper,得到的值進行倒排

返回得到的結果

點擊復制鏈接 與好友分享!回本站首頁
上一篇:python學習之InPut()和While循環知識講解
下一篇:python簡單面試題:輸入某年某月某日,判斷這一天是這一年的第幾天
相關文章
圖文推薦
點擊排行

關于我們 | 聯系我們 | 廣告服務 | 投資合作 | 版權申明 | 在線幫助 | 網站地圖 | 作品發布 | Vip技術培訓 | 舉報中心

版權所有: 紅黑聯盟--致力于做實用的IT技術學習網站

加拿大28火车判定方法