怎么找到换域名的网站,专题定制网站建设,简单建设企业办公网站,模板制作视频应用
一个长度为[1, 50]、元素都是字符串的非空数组#xff0c;每个字符串的长度为[1, 30]#xff0c;代表非负整数#xff0c;元素可以以“0”开头。例如#xff1a;[“13”, “045”#xff0c;“09”#xff0c;“56”]。 将所有字符串排列组合#xff0c;拼起来组成…应用
一个长度为[1, 50]、元素都是字符串的非空数组每个字符串的长度为[1, 30]代表非负整数元素可以以“0”开头。例如[“13”, “045”“09”“56”]。 将所有字符串排列组合拼起来组成一个新字符串输出其中最小的数字 如果是多位数字优先选择不以“0”开头的最小数字 如果新拼接的字符串都是以“0”开头则选取最小的并把开头部分的“0”去掉再输出 如果是单位字符0直接输出。
实现
strings input(请输入若干个代表非负整数的字符串可以以“0”开头以空格分隔).split()
array []
for i in strings:array.append(i)
# print(array)def check_all_elements_start_with(list):check_result Trueunnormal_num_sum 0for i in list:if i[0] 0:unnormal_num_sum 1# 元素都是“0”开头if unnormal_num_sum len(list):check_result Falsereturn check_resultdef normalize(list):# 每个字符串去除首位“0”for i in list:i[1:]check_result check_all_elements_start_with(list)if check_result:return listelse:normalize(list)def PaiLie_yu_ZuHe(list):# 复制一下l1 list# 去重result set()# # 原始顺序加入到结果 # 测试几次发现多此一举# string # for k in list:# string string k# result.add(string)# 基于原始顺序从左到右逐一交换位置弟i个元素分别与后面的每个元素组成新字符串for i in range(0, len(l1)-1):for j in range(i1, len(l1)):temp l1[i]l1[i] l1[j]l1[j] tempstring for k in l1:string string kresult.add(string)# 复原l1 list# 基于原始顺序从右到左逐一交换位置弟i个元素分别与前面的每个元素组成新字符串for i in range(1, len(l1)):for j in range(0, i):temp l1[i]l1[i] l1[j]l1[j] tempstring for k in l1:string string kresult.add(string)# 复原l1 listr []for i in result:r.append(i)# print(r)return rdef filter_and_sort(list):# 筛选不是“0”开头的元素并int化l []for i in A:if i[0] ! 0:l.append(int(i))l.sort()return l# PaiLie_yu_ZuHe(array)# 单位字符串
if len(array) 1:check_result check_all_elements_start_with(array)if check_result:# 字符串为正常数字print(f最小数字为{array[0]})else:# 字符串为不正常数字normalize(array)print(f最小数字为{array[0]})
# 多位字符串
else:A PaiLie_yu_ZuHe(array)check_result check_all_elements_start_with(A)if check_result:# 字符串为正常数字L filter_and_sort(A)print(f最小数字为{L[0]})else:# 字符串为不正常数字B normalize(A)L filter_and_sort(B)print(f最小数字为{L[0]})请输入若干个代表非负整数的字符串可以以“0”开头以空格分隔08 10 2
最小数字为10082请输入若干个代表非负整数的字符串可以以“0”开头以空格分隔20 1
最小数字为120