计算不同数字数量的省时方法

2023-11-29

get_number()返回一个整数。我将调用它 30 次并计算返回的不同整数的数量。我的计划是将这些数字放入std::array<int,30>,排序然后使用std::unique.

这是一个好的解决方案吗?还有更好的吗?这段代码将成为我程序的瓶颈。

我认为应该有一个基于哈希的解决方案,但当我只有 30 个元素时,它的开销可能会太大?

Edit我变了unique to distinct。例子:

{1,1,1,1} => 1
{1,2,3,4} => 4
{1,3,3,1} => 2

我会用std::set<int>因为它更简单:

std::set<int> s;
for(/*loop 30 times*/)
{
   s.insert(get_number());
}
std::cout << s.size() << std::endl; // You get count of unique numbers

如果您想计算每个唯一号码的返回时间,我建议map

std::map<int, int> s;
for(int i=0; i<30; i++)
{
  s[get_number()]++;
}

cout << s.size() << std::endl;  // total count of distinct numbers returned

for (auto it : s)
{
  cout << it.first << " " << it.second<< std::endl;  // each number and return counts
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

计算不同数字数量的省时方法 的相关文章

随机推荐

  • oData $expand 派生类型

    我在使用 odata 查询获取派生类型时遇到挑战 Url odata resource expand 衍生类型 看到这个link这给出了像这样的选项 People OfType Employee 41 Manager 或 People Em
  • 无法使用 AngularJS 在 Android 浏览器中执行 POST 请求

    我有一个有角度的应用程序 可以显示记录 并让用户能够添加记录 在桌面或 iOS 设备上一切正常 但在 Android 设备上 POST 方法失败 403 禁止 这是我的服务中的代码 obj getRecords function retur
  • 终止正在 Q​​Thread 内运行的正在进行的 QProcess? [复制]

    这个问题在这里已经有答案了 如何终止正在 Q Thread 内运行并被另一个 QThread 删除的正在进行的 QProcess 我什至插入了一个 QMutex extCmdProcessLock 这应该避免在 extCmdProcess
  • Paper.js 外部文件将无法加载

    我只是想进入 paper js 内联时代码可以正常工作 但是当我将它们移动到外部文件并在那里 src 时 错误开始弹出 任何人都可以弄清楚我做错了什么吗 附有错误屏幕截图 非常感谢 错误截图
  • PHP 在 if 语句中组合布尔运算符(AND、OR)

    我想知道是否可以将两个运算符 OR 和 AND 组合在一个 if 语句中 如下所示 if apple 1 orange 2 cake 0 我想说的是 如果苹果等于 1 橙子等于 2 或者蛋糕等于 0 那么就这样做 换句话说 我需要苹果和橙子
  • Python:如何按每个元素的最大值对列表进行排序?

    L a b c d e f 我想按 max a b max c d max e f 等对其进行排序 您可以提供定制key函子到sort L sort key max
  • 如何获取 postgresql 9.5 中特定模式中存在的所有表的表行数?

    如何获取 postgresql 9 5 中特定模式中存在的所有表的表行数 我希望结果为 table name 行数 如何使用查询来完成此操作 这可以通过一些 XML 魔法来完成 select table schema table name
  • Discord.py:为什么我的加入消息不起作用?

    我很困惑为什么我的加入消息不起作用 我安装了discord py库 我真的很困惑 我下面还有其他代码 但它不应该影响上面的代码 import discord client discord Client client event async
  • ASP.NET Core Identity - 获取当前用户

    为了获取 MVC5 中当前登录的用户 我们所要做的就是 using Microsoft AspNet Identity Authorize public IHttpActionResult DoSomething string curren
  • .htaccess 中的条件 PHP 版本

    在我的本地测试服务器上 我使用 PHP 5 4 然而 在实时主机上 我目前仅限于 PHP 5 3 并且必须在 htaccess 中指定它 否则默认为 5 2 所以我可以添加 Use PHP 5 3 Action application x
  • 写入记录器时发生错误。 (无法打开源“.NET Runtime”的日志。您可能没有写入权限。)

    我在 Net core 3 1 中创建了一个 Web 应用程序 并尝试使用 EF Core 访问数据库 在访问它时 我遇到以下错误 奇怪的是 它之前可以正常工作 但应用程序方面没有任何变化 at Microsoft Extensions L
  • 如何在mysql中对西里尔字母进行编码?

    这是怎么回事 我有一个问题 希望你能帮助我解决 我的一个朋友有一个简单 可靠的 html 网站 我实现了一点 php 文章的 CRUD 系统 我遇到的问题是从 mysql 数据库放置和获取西里尔字符 我接下来想要实现的目标是 在主导航中有一
  • 了解地图功能

    Python 2 文档说 内置功能 map function iterable 将函数应用于可迭代的每个项目并返回一个列表 结果 如果传递额外的可迭代参数 函数必须 接受这么多参数并应用于所有项目 并行迭代 如果一个迭代比另一个短 则假定它
  • 使用functions.php将Bootstrap添加到Wordpress

    我尝试使用以下代码将 Bootstrap 嵌入到 Wordpress 但它不起作用 需要帮忙
  • 设置用双引号括起来的单词的 CSS

    这是我的问题的后续问题如果代码包含保留字 则设置代码的 CSS 我正在尝试做什么 如果某些代码有引号或双引号 我想将字体颜色设置为红色和粗体 前任 System out println Hello world 应该将 Hello world
  • 如何使 PageView.Builder() 滚动动画从滞后变得极其流畅 - Flutter

    我使用 PageView Builder 来构建由基本文本小部件数组提供的小部件 但在调试模式下 动画感觉非常滞后 在发布或分析模式下 动画仍然滞后 但少了很多 有什么方法可以完全消除使用PageView时的动画滞后现象 这是我的代码 im
  • 如何从另一台计算机连接到 SQL Server?

    我想使用 SQL Server 2005 从家里连接到另一台 PC 我查看了 msd 但在连接之前它说我应该连接到另一台计算机 使用计算机管理但没有成功 我只能连接到我的工作组中的计算机 谢谢 路易莎 免责声明这只是一些可能对任何人都有帮助
  • 提取C/C++函数原型

    我想做这个 extract prototypes file1 c file2 cpp file3 c 并让任何脚本 程序打印给定 C C 文件中定义的所有函数的函数原型的良好列表 它必须很好地处理多行声明 有没有一个程序可以完成这项工作 越
  • Python 的 eval() 在不受信任的字符串上的安全性?

    如果我使用 eval 评估 Python 字符串 并且有一个类似以下的类 class Foo object a 3 def bar self x return x a 如果我不信任该字符串 会有哪些安全风险 尤其 Is eval strin
  • 计算不同数字数量的省时方法

    get number 返回一个整数 我将调用它 30 次并计算返回的不同整数的数量 我的计划是将这些数字放入std array