腾讯笔试04-24 题目一

腾讯笔试04-24 题目一,第1张

后台Java开发岗位,实习机试。5道题一共,一题20分,满分100分。

第一题:

牛牛有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)

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/735821.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-27
下一篇 2022-04-27

发表评论

登录后才能评论

评论列表(0条)

保存