给定一个有序数组arr,调整arr使得这个数组的左半部分
没有重复元素且升序,而不用保证右部分是否有序
例如,arr = [1, 2, 2, 2, 3, 3, 4, 5, 6, 6, 7, 7, 8, 8, 8, 9],调整之后arr=[1, 2, 3, 4, 5, 6, 7, 8, 9, .....]。
[要求]
时间复杂度为
,空间复杂度为
第一行一个整数N。表示数组长度。
接下来一行N个整数,表示数组内元素
输出N个整数为答案数组
16 1 2 2 2 3 3 4 5 6 6 7 7 8 8 8 9
1 2 3 4 5 6 7 8 9 6 2 7 2 8 8 3
5 2 3 4 4 5
2 3 4 5 4
本题有special judge,对于右边的部分,你可以任意输出(在保证合法的前提下)
def sort_arry(n,l): i=0 j=0 while j<n and i<n-1: if l[j]!=l[i]: l[i+1],l[j]=l[j],l[i+1] i+=1 j+=1 for i in range(n): print(l[i],end=" ") def main(): n=int(input()) l=list(map(int,input().split())) sort_arry(n,l) if __name__=='__main__': main()