"题目描述"\n对于给定的正整数序列,按照个位数从小到大排序,个位数相同的按照本身大小从小到大排序。\n\n输入格式\n第一行1个整数n,表示序列的大小。( 0 < n ≤ 1000) 第二行n个正整数,表示序列的每个数,每个数不大于100000000。\n\n输出格式\n输出按照题目要求排序后的序列内容:思路:\n1. 首先读取输入的整数n和正整数序列。\n2. 将序列中的每个数拆分为个位数和剩余的数,使用元组进行存储。\n3. 对序列进行排序,首先按照个位数进行排序,相同个位数的按照剩余的数进行排序。\n4. 将排序后的序列输出。\n\n代码实现如下:\n\npython\nn = int(input())\nnums = list(map(int, input().split()))\n\n# 拆分每个数的个位数和剩余的数,使用元组进行存储\nnums = [(num % 10, num) for num in nums]\n\n# 按照题目要求对序列进行排序\nnums.sort(key=lambda x: (x[0], x[1]))\n\n# 输出排序后的序列\nfor num in nums:\n print(num[1], end=' ')\n\n时间复杂度分析:\n1. 读取输入的整数n和正整数序列,时间复杂度为O(n)。\n2. 拆分每个数的个位数和剩余的数,时间复杂度为O(n)。\n3. 对序列进行排序,时间复杂度为O(nlogn)。\n4. 输出排序后的序列,时间复杂度为O(n)。\n综上,总的时间复杂度为O(nlogn)。

Python 实现正整数序列排序 - 按个位数排序,相同个位数按本身大小排序

原文地址: https://www.cveoy.top/t/topic/qjKo 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录