La matriz dispuesta en el número más pequeño
Título Descripción
introduzca un array entero positivo, el conjunto de todos los números dispuestos en un número empalmados juntos, el empalme puede imprimir todos los números de uno más pequeño. 3,32,321 matriz de entrada} {por ejemplo, imprimir el número mínimo de tres números puede estar dispuesto para 321.323.
La resolución de problemas las ideas :
mi programa burbujeante:
# -*- coding:utf-8 -*-
class Solution:
def PrintMinNumber(self, numbers):
# write code here
res = ""
if len(numbers)==0:
return res
for i in range(len(numbers)-1):
for j in range(i+1,len(numbers)):
if int(str(numbers[i])+str(numbers[j])) >= int(str(numbers[j]) + str(numbers[i])):
numbers[i], numbers[j] = numbers[j], numbers[i]
res += str(numbers[i])
res += str(numbers[-1])
return int(res)
drenaje rápido Gran Dios (aunque no a través, pero la idea es agotar rápidamente la idea):
def strSort(self, list):
if len(list) <= 1:
return list
left = self.strSort([i for i in list[1:] if (i+list[0]) < (list[0]+i)])
right = self.strSort([i for i in list[1:] if i+list[0] >= list[0] + i])
return left+[list[0]]+right
Y una rápida programada grave si:
def quick_sort(self, list):
if len(list) < 2:
return list[:]
left = (self.quick_sort([i for i in list[1:] if i <= list[0]]))
right = (self.quick_sort([i for i in list[1:] if i > list[0]]))
return left + [list[0]] + right