第一题:
牛牛有n个长度相等由数字组成的字符串,牛牛将他们一行一行排列在一起。牛牛喜欢从上到下读数,可以将n个字符串读出了一些数字字符串。牛牛想帮这些数字字符串记录下来,并将他们进行排序。希望你能帮牛牛将从小到大排序后的数字字符串输出出来,输出的这个数字字符串要去掉前导0。
输入描述:
第一行为n,表示有n个字符串。
接下来有n行,每行有一个字符串str。
1<=n<=9
1<=str.length<=10^5
输出描述:
输出为一行,表示排序后的数字,每个数字以空格隔开。
示例1
输入
3
0123
1234
2345
输出
12 1223 234 345
说明
每一列从上往下读得到的数字为012,123,234,345,去掉前导0之后的排序后结果如上。
示例2
输入
4
0000
0101
1011
0111
输出
10 11 101 111
思路:
简单的模拟题,先取出各个数字,然后使用python直接将字符串str转数字int即可(python会自动去掉前导0),比如0010直接调用,int(0010),结果就是10。
附上Python AC代码:
if __name__ == "__main__":
n = int(input())
secLine = input()
num = len(secLine)
numList=[]
numList.append(secLine)
for k in range(1,n):
numList.append(input())
list=[]
for i in range(num):
temp=""
for j in range(n):
temp+=numList[j][i]
list.append(temp)
list=[int(num) for num in list]
list.sort()
res=""
for k in range(len(list)):
res+=str(list[k])
if k!=len(list)-1:
res+=" "
print(res)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)