当前位置: 首页 > 编程笔记 >

查询C ++中后缀中不同整数的数量

云利
2023-03-14
本文向大家介绍查询C ++中后缀中不同整数的数量,包括了查询C ++中后缀中不同整数的数量的使用技巧和注意事项,需要的朋友参考一下

在这个问题中,我们得到了N个整数的数组。有Q个查询,每个查询包含一个整数值m。我们的任务是创建一个程序来解决C ++中后缀中不同整数的查询。

问题描述-在这里,我们将需要找到从索引(m-1)到(N-1)的子数组中存在的不同整数的总数。其中,m是每个查询中的值。

让我们以一个例子来了解问题-

输入值

array = {2, 6, 1, 2, 7, 6}
Q = 2 , queries = {1, 5}

输出结果

4 2

说明

对于m = 1,我们需要找到从索引0到N的不同元素的数量,即4。

对于m = 5,我们需要找到从索引4到N的不同元素的数量,即2。

解决方法

如示例中所示,此问题的解决方案很简单。我们只需要简单地计算数组中唯一或不同元素的数量即可。如果我们将数据结构考虑为数组,这似乎很困难。但是,如果考虑使用其他数据结构,该解决方案将很容易。

因此,为了解决该问题,我们将使用S ++库中可用的C ++中的集合。因此,对于每个查询,我们都将从索引(m-1)到(n-1)的元素插入集合中。集合的长度给出了查询中不同元素的数量。

程序来说明我们的解决方案,

示例

#include <bits/stdc++++.h>
using namespace std;

int findDistinctInt(int arr[], int N, int m) {

   set<int> distValues;
   for (int i = (N-1); i >= (m-1); i--) {
      distValues.insert(arr[i]);
   }
   return distValues.size();
}

int main() {

   int arr[] = { 2, 6, 1, 2, 7, 6 };
   int N = sizeof(arr) / sizeof(arr[0]);
   int Q = 2;
   int query[Q] = { 1, 5 };

   for(int i = 0; i < Q; i++)
   cout<<"For query "<<(i+1)<<": The number of distinct integer in Suffix is "<<findDistinctInt(arr,    N, query[i])<<endl;

   return 0;
}

输出结果

For Query 1: The number of distinct integer in Suffix is 4
For Query 2: The number of distinct integer in Suffix is 2
 类似资料:
  • 问题内容: 因此,我一直在尝试在查询中生成一些SQL随机数,但发现有些奇怪。 假设我运行以下查询: SQL随机数gen有点笨重,但是这里的基本思想很简单-选择1到5之间的随机数,然后将该数字作为文本显示在选择窗口中。这按预期工作。 但是,如果我使用SAME查询,而是将随机数公式粘贴到方法中,而不是将其声明为整数,那么它们全都在一行上: 运行查询时,我仍然获得值1到5,但是有时我也得到NULL。NU

  • 问题内容: 我正在尝试编写一个小程序,该程序在数组中打印出不同的数字。例如,如果用户输入1,1,3,5,7,4,3,则该程序将仅打印出1,3,5,7,4。 我在else if函数中遇到错误。 到目前为止,这是我的代码: 问题答案: 首先,“ ”语句是不正确的,因为您没有为if提供任何条件(如果需要if,则需要编写“ ”)。 其次,您不能 在内部 循环中决定是否应打印一个值:代码的工作方式是 为每个

  • 问题内容: 在从VB.NET转换数据“ to_timestamp”和“ to_number”获得出色的结果之后,我想知道PostgreSQL是否有可能通过.NET的整数数组查询表索引? 说,我的数组充满。PostgreSQL是否有可能将包含这些索引的数据的行返回到“ odbc.reader”? 这将比我现在循环和查询5次要快得多。 像这样的东西: 如果可能的话,一个简单的查询应该是什么样子? 问题

  • 问题内容: 我的问题是,为什么MySQL行的整数值带有“ L”后缀?详细信息如下: 以下字典-为便于显示,在此处经过人工格式化- 由MySQL数据库表的各列组成,这些列的压缩结果为从表中读取一次。 我可以通过将这些值传递给int()来删除“ L”,因此,如果该字典位于名为snapped_read的变量中,则可以执行以下操作: 并会改变。 我只是好奇为什么整数会以这种方式出现。 问题答案: 因为在P

  • @PeterLawrey我稍微调整了代码如下,因为我只需要洗牌,这是一个享受,我会弹出卡片的堆栈来处理 感谢彼得和所有其他贡献者。M.

  • 背景:我们使用书面记录来记录我们不断变化的模型的历史。现在我想查询一个属于某个客户的项目。PaperTrail可选择存储对象更改,我需要查询此字段以了解何时使用此ID创建了某些内容或更改为此ID。 我的表看起来简化如下: 如何查询从或更改为ID 5的元素(因此上面的所有行)?我试过: 这让我: