标签: multiset

在std :: multiset中,如果找到一个元素,则只有一个函数或算法可以擦除一个样本(单元或重复)

也许这是一个重复,但我没有找到任何搜索:当所有元素erase(value)被调用时,std::multiset找到的值被删除.我能想到的唯一解决方案是:

std::multiset<int>::iterator hit(mySet.find(5));
if (hit!= mySet.end()) mySet.erase(hit);
Run Code Online (Sandbox Code Playgroud)

这没关系,但我认为可能会更好.有任何想法吗 ?

c++ stl multiset

62
推荐指数
3
解决办法
2万
查看次数

"multiset"和"multimap" - 有什么意义?

正如问题所述......我不明白multisets/multimaps的观点.

那么,目的是什么?

c++ containers stl multimap multiset

34
推荐指数
1
解决办法
1万
查看次数

以元素频率的顺序迭代Multiset的最简单方法是什么?

考虑这个打印出一些设备类型统计数据的例子.("DeviceType"是一个带有十二个值的枚举.)

Multiset<DeviceType> histogram = getDeviceStats();
for (DeviceType type : histogram.elementSet()) {
    System.out.println(type + ": " + histogram.count(type));
}
Run Code Online (Sandbox Code Playgroud)

以频率顺序打印不同元素的最简单,最优雅的方法是什么(最常见的类型是第一种)?

随着快速浏览一下Multiset界面,有一个为这个没有现成的方法,并没有番石榴的的Multiset实现(HashMultiset,TreeMultiset,等)似乎自动保持要素频率有序无论是.

java multiset guava

32
推荐指数
2
解决办法
1万
查看次数

.Net的multiset是否有任何实现?

我正在寻找一个多集的.Net实现.谁能推荐一个好的?

(多集或包,是一个可以具有重复值的集合,您可以在其上设置操作:交集,差异等.例如购物车可以被认为是多集,因为您可以多次出现相同的产品.)

.net c# bag multiset data-structures

25
推荐指数
2
解决办法
9885
查看次数

R:具有/不具有替换的排列和组合以及用于不同/非独特项目/多集的排列和组合

在这个主题中,我试图在这里包括所有常见问题及其答案.我希望这对某人有用.

一般问题:如何rn对象生成对象序列?

  • 组合与排列.
  • 有替换和没有替换.
  • 不同的项目与非独特的项目(多重集合).

总共存在这类2^3=8问题.

[更新]

Josh O'Brien认为这8个问题与十二种方式有关.实际上,"不同"的问题以十二种方式包含在内,而"非独特"的问题则不包括在内.无论如何,将这里的8个问题与12倍的方式进行比较是很有趣的.请参阅注释以获取进一步的读数.

combinations r permutation multiset r-faq

21
推荐指数
2
解决办法
1万
查看次数

过滤匹配字符串排列的集合

我试图使用itertools.permutations()来返回字符串的所有排列,并仅返回作为一组单词成员的那些排列.

import itertools

def permutations_in_dict(string, words): 
    '''
    Parameters
    ----------
    string : {str}
    words : {set}

    Returns
    -------
    list : {list} of {str}    

    Example
    -------
    >>> permutations_in_dict('act', {'cat', 'rat', 'dog', 'act'})
    ['act', 'cat']
    '''
Run Code Online (Sandbox Code Playgroud)

我目前的解决方案在终端上运行良好,但不知何故无法通过测试用例...

return list(set([''.join(p) for p in itertools.permutations(string)]) & words)
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激.

python algorithm permutation python-itertools multiset

16
推荐指数
2
解决办法
6161
查看次数

哪个元素将从std :: multimap :: find返回?

很可能这个问题是重复的,但我找不到它的引用.

我正在查看std :: multiset :: find&std :: multimap :: find函数,我想知道如果多次插入特定键,将返回哪个元素?

从描述:

请注意,此函数将迭代器返回到单个元素(可能是多个等效元素)

是保证单个元素第一个插入的还是随机的?

背景

我问的原因是我正在实现像类这样的multipmap:

typedef std::vector<Item> Item_vector;

class Item
{
  string m_name;
};

class MyItemMultiMap
{
public:

  // forgive me for not checking if key exist in the map. it is just an example.

  void add_item( const Item& v ) { m_map[v.m_name].push_back(v); }

  // is returning the first item in the vector mimic std::multimap::find behavior?
  Item& get_item( const string& v …
Run Code Online (Sandbox Code Playgroud)

c++ stl multimap multiset

14
推荐指数
1
解决办法
5922
查看次数

从Google Collections中查找Multiset中的前N个元素?

谷歌集合 多重集是一组元素的每一个都具有一个计数(即可能存在多次).

我不能告诉你我想做多少次以下事情

  1. 制作直方图(完全是Multiset)
  2. 从直方图中按计数获取前N个元素

示例:前10个URL(按提到的#次),前10个标签(按#次应用),...

鉴于Google Collections Multiset,做#2的规范方法是什么?

是一篇关于它的博客文章,但该代码并不是我想要的.首先,它返回所有内容,而不仅仅是前N个.其次,它会复制(是否可以避免复制?).第三,我通常想要一种确定性的排序,即如果计数相等则是抢七.其他尼特:它不是静止的等等.

java multiset guava

13
推荐指数
1
解决办法
2673
查看次数

Python列表与非唯一项目的交集

我有两个字符串,我想在它们上面有交集,包括重复的项目:

str_a = "aabbcc"
str_b = "aabd"

list(set(str_a) & set(str_b))
>> "ab"
Run Code Online (Sandbox Code Playgroud)

我想让它回归:

>> "aab"
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

python intersection multiset

13
推荐指数
2
解决办法
5016
查看次数

C++"multiset <int>"是否有Python等价物?

我正在将一些C++代码移植到Python,其中一个数据结构是一个多重集,但我不确定如何在Python中对此进行建模.

让我们ms成为C++multiset<int>

如何ms使用(发布一些例子)

multiset<int>::iterator it = ms.find(x)
ms.erase(it)

ms.insert(x)
ms.end()
ms.lower_bound(x)
ms.clear()
Run Code Online (Sandbox Code Playgroud)

c++ python set multiset

13
推荐指数
2
解决办法
1万
查看次数