如何从数组中删除特定元素,而又不删除其以后出现的情况

Atharva Biwalkar

从用户处获取整数输入,然后从数组中删除具有多个连续出现次数的数组中的元素。

例如,输入数组为“ aabcca”,而用户的输入为2。则答案应为“ ba”。

当元素不重复时,我尝试过。我的代码非常适合“ aaabbccc”之类的示例。

for j in range(t, (n+1)):
    if (t == n):
        if (count == k):
            array = [x for x in array if x != temp]
        print array
        exit()
    if (t == n and count == k):
        array = [x for x in array if x != temp]
        print array
        exit()
    if temp == data[j]: 
        count += 1
        t += 1
    if temp != data[j]:
        if count == k:
            array = [x for x in array if x != temp]
        temp = data[t]
        count = 1
        t += 1
瑞纳克

您可以使用sliding windowtwo pointers解决它。

关键是使用[start, end]范围记录连续的序列,并且仅添加长度小于的序列n

def delete_consecutive(s, n):
    start, end, count = 0, 0, 0
    res, cur = '', ''
    for end, c in enumerate(s):
        if c == cur:
            count += 1
        else:
            # only add consecutive seq less than n
            if count < n:
                res += s[start:end]
            count = 1
            start = end
            cur = c

    # deal with tail part
    if count < n:
        res += s[start:end+1]

    return res

测试输出:

print(delete_consecutive('aabcca', 2))      # output: ba
print(delete_consecutive('aaabbccc', 3))    # output: bb

希望对您有所帮助,如有其他问题,请发表评论。:)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在csv列中删除换行符,而又不删除行尾换行符?

如何从ArrayList中删除元素而又不左移其余元素

Ruby on Rails-如何删除购物车中的单个ProductItem而又不删除整个购物车中的项目

如何在不删除数组中已有元素的情况下向 PHP 数组添加元素?

如何在JavaScript中仅删除父元素而不删除其子元素?

如何在不删除列表元素的情况下按出现的顺序对列表进行排序?

如何从数组中删除元素而不删除重复项。在C#中

如何删除numpy数组中的特定元素

JavaScript:如何从数组中删除特定元素

如何从数组列表中删除特定元素

PHP:如何从数组中删除特定元素?

如何从数组中删除特定元素

如何从数组中删除特定元素?

如何将 AJAX 结果中的内容插入元素而不删除其现有内容?

如何删除我的第一个孩子而又不删除所有第一个孩子?

在数组的特定位置插入而不删除JS中的元素

从数组中删除特定元素

从数组中删除特定元素

删除Chrome DevTools中的HTML元素而不删除其子元素?

XSLT删除元素但不删除其子元素?

如何在不删除元素的情况下删除jQuery UI元素?

如何不删除数组中的最后一个元素(Dart 语言)

如何从 NumPy 数组中删除所有出现的元素?

如何从数组中获取一个随机元素而又不多次获取同一元素?

如何有条件地从数据帧中删除观察值,而又不丢失R中的NA值?

如何从数据框中删除仅包含破折号/连字符(-)的行,而又不影响python中的负值

如何从 Crystal Lang 中的数组中删除特定元素?

如何从Redux存储中的数组中删除特定元素

如何从php中的数组中删除特定元素