美文网首页
计蒜客 第二十一题 排序后的数组删除重复数字

计蒜客 第二十一题 排序后的数组删除重复数字

作者: Sourcils | 来源:发表于2018-08-15 15:36 被阅读0次

给定升序排序的数组,如果数组有 22 个或 22 个以上相同的数字,去掉他们,直到剩下 22 个为止。

例如:

数组 A[] = [1,1,1,2,2,3]

你的算法需要返回新数组的长度 5,

此时 A 为 [1,1,2,2,3]。

输入格式

第一行输入一个不超过 200 的数字 n,第二行输入 A[n]。

输出格式

输出新数组的长度。

样例输入

6
1 1 1 1 3 3
样例输出

4
做完之后看了一下 发现这样即使乱序也没问题。

X = input()
A = input().split()
#建字典记录元素个数
B = {} 
#记录删除次数
d = 0
for a in range(len(A)): 
    if A[a-d] not in B: 
        B[A[a-d]] = 1
    elif B[A[a-d]] < 2:
        B[A[a-d]] = B[A[a-d]] + 1
    else:
        del A[a-d]
        d = d + 1

print(len(A))

相关文章

  • 计蒜客 第二十一题 排序后的数组删除重复数字

    给定升序排序的数组,如果数组有 22 个或 22 个以上相同的数字,去掉他们,直到剩下 22 个为止。 例如: 数...

  • 顺序表

    1.删除排序数组中的重复数字 给定一个排序数组,在原数组中删除重复出现的数字,使得每个元素只出现一次,并且返回新的...

  • lintcode-删除排序数组中的重复数字

    删除排序数组中的重复数字 利用库函数,偷懒法

  • 算法随笔

    原地删除重复的数字 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长...

  • 3.数组中重复的数字

    找出数组中任意一个重复的数字! 思路1:把数组排序,从排序后的数组中找出重复的数字。但排序一个长度为n的数组需要O...

  • 排序后的数组删除重复数字

    【链接】https://nanti.jisuanke.com/t/22【题目】给定升序排序的数组,如果数组有 2 ...

  • 排序后的数组删除重复数字

    给定升序排序的数组,如果数组有 2 个或 2 个以上相同的数字,去掉他们,直到剩下 2个为止。 例如: 数组 A[...

  • leecode刷题(1)-- 删除排序数组中的重复项

    leecode刷题(1)-- 删除排序数组中的重复项 删除排序数组中的重复项 给定一个排序数组,你需要在原地删除重...

  • 从排序数组中删除重复项

    从排序数组中删除重复项,给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的...

  • 2018年8月 leetcode刷题(初级算法数组)

    从排序数组中删除重复项 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的...

网友评论

      本文标题:计蒜客 第二十一题 排序后的数组删除重复数字

      本文链接:https://www.haomeiwen.com/subject/urkwbftx.html