当前位置: 首页 > 知识库问答 >
问题:

查找给定范围内的所有数字对

长孙阳泽
2023-03-14

我有N个数字,让我们说20301530401520。现在我想找出在给定范围内有多少对数字。(L和R给定)。数字对=两个数字相同。我的方法

共有1个答案

宗政霄
2023-03-14

如果你追求的是速度,而不是记忆,也许有一个更好的方法。

您可以使用一个集合作为辅助数据结构来查看是否找到了一个数字,然后简单地遍历数组。伪代码:

int numPairs = 0;
set setVisited;
for (int i = L; i < R; i++) {
  if (setVisited.contains(a[i])) {
    // found the second of a pair. count it up and reset.
    numPairs++;
    setVisited.remove(a[i]);
  } else {
    // remember that we saw this number, so we can spot the next pair.
    setVisited.add(a[i]);
}
 类似资料:
  • 本文向大家介绍JavaScript查找范围内所有数字的总和,包括了JavaScript查找范围内所有数字的总和的使用技巧和注意事项,需要的朋友参考一下 问题 我们需要编写一个JavaScript函数,该函数接受一个指定范围的数组。 我们的函数应该找到并返回落在该范围内的所有自然数之和,包括范围数。 示例 以下是代码- 输出结果 以下是控制台输出-

  • 我无法降低这个问题的复杂性。请给出一些更好的方法。 有没有一个我不知道的数学公式,或者它可以用更好的方法来完成? 我是这样做的:

  • 本文向大家介绍PHP程序找出给定范围内的所有奇数的和,包括了PHP程序找出给定范围内的所有奇数的和的使用技巧和注意事项,需要的朋友参考一下 为了找到给定范围内的奇数之和,代码如下- 示例 输出结果 定义了一个名为“ odd_num_sum”的函数,该函数计算特定数字范围内的奇数之和。函数“ num_in_range”给出两个数字之间的值范围,这些数字作为参数传递给该函数。在这两个函数之外,都定义了

  • 因此,我必须编写一个程序,使用numDigits方法找到一个范围内的所有回文数,该方法取一个int数并返回该数的位数,使用isPalindrome方法取一个int数并返回一个布尔值true或false。这是在爪哇。 我有一个numDigits方法编码,工作很好,但我不知道如何获得它的输出,并使用它找到一个范围内的所有回文 null

  • 本文向大家介绍c语言求出给定范围内的所有质数,包括了c语言求出给定范围内的所有质数的使用技巧和注意事项,需要的朋友参考一下 程序功能: 输入一个整数,要求打印出这个整数以内的所有质数。 程序示例: 程序解析: 1,IsPrime()函数用来判断一个整数是不是质数,如果是返回true,否则返回false。在这个函数中因为调用了C语言库函数sqrt(),所以要在头文件中包含#include 。 2,s

  • 本文向大家介绍编写Golang程序以查找给定范围内的质数,包括了编写Golang程序以查找给定范围内的质数的使用技巧和注意事项,需要的朋友参考一下 例子 输入num1 = 3和num2 = 8 =>质数是:3、5、7 输入num1 = 8和num2 = 23 =>质数是:11,13,17,19,23 解决这个问题的方法 步骤1:定义一个接受两个数字num1和num2的函数,类型为int。 步骤2: