itertools 中的permutations 可以排列
组合跟二进制有关
通过位运算检查有多少个1
第一题
import os
import sys
# 请在此输入您的代码
import itertools
olds = input()
news = list(olds)
news.sort()
cnt = 0
a = []
for element in itertools.permutations(news):
#方法一 计数
# a = ''.join(element)
# if olds == a:
# print(cnt)
# break
# cnt+=1
# 方法二 列表索引
a.append(element)
print(a.index(tuple(olds))) # 根据列表索引来解决该问题
第二题(选择排序思想)
import os
import sys
# 请在此输入您的代码
n = int(input ())
nums = input ().split() #按字符读入
for i in range(0, n-1): #交换排序 # 按字典序对队列num排序(即首字母大小)
for j in range(i+1, n):
if nums[i]+nums[j] < nums[j]+nums[i]:
nums[j], nums[i] = nums[i], nums[j]
print('' .join(nums))