输入N个无序的数,请将相同的数删成只剩下一个,并将删除后的数列从小到大排序后输出。(如输入:8 32 12 25 12 8 36 25 26 12 ,输出:8 12 25 26 32 36)
时间: 2024-03-04 19:48:50 浏览: 74
依次去掉n中的某一位数字,得到m个整数,并将这m个整数按从小到大的次序排列后输出.docx
5星 · 资源好评率100%
好的,这个问题可以用哈希表来解决。具体步骤如下:
1. 首先,遍历输入的数列,将每个数作为哈希表的键,值设为1(或任意非0值),加入哈希表中。
2. 遍历完后,将哈希表的所有键按从小到大的顺序取出,组成新的数列。
这样,就能得到删除重复数后的有序数列。下面是具体的代码实现:
```python
def remove_duplicates(nums):
hash_table = {}
for num in nums:
hash_table[num] = 1
sorted_nums = sorted(hash_table.keys())
return sorted_nums
```
示例输入:`[8, 32, 12, 25, 12, 8, 36, 25, 26, 12]`,输出:`[8, 12, 25, 26, 32, 36]`。
需要注意的是,哈希表的实现方式可以选择字典、集合等。此外,排序算法的选择也可以根据具体情况来确定,此处使用了Python内置的sorted函数。
阅读全文