相关疑难解决方法(0)

如何找到最大值 和分钟.在数组中使用最小比较?

这是一个面试问题:给定一组整数找到最大值.和分钟.使用最小比较.

显然,我可以循环数组两次并~2n在最坏的情况下使用比较,但我想做得更好.

language-agnostic arrays algorithm

39
推荐指数
4
解决办法
8万
查看次数

查找数组的最小和最大元素

我想使用for comprehension找到数组的min和max元素.是否可以通过一次迭代的数组来找到min元素和max元素?

我正在寻找一个解决方案,而不使用scala提供的array.min或max.

scala

25
推荐指数
6
解决办法
5万
查看次数

如何以适合C++的方式删​​除数组中最小和最大的元素?

假设我有一个int数组,我想调用一个函数来删除最小和最大的值.通过删除我的意思是如果我的初始数组长度为7个元素,则新数组有5个元素.其余元素的顺序无关紧要.我想出了一些方法来做到这一点,但我不确定哪一个是C++"做"它的方式,如果这是有道理的.

我现在拥有的是我使用std :: sort来对我的数组进行排序,然后我使用for循环从第二个元素开始复制结果,并从倒数第二个元素停止到具有适当大小的新数组.我应该如何返回阵列?

我无法返回新创建的数组,因为它是函数的局部变量.我可以将新数组作为参数传递给函数,但这不是更老的,C风格的方式吗?我也可以使用std :: vector,但是我必须将数组包装在一个向量中然后打开它(数字需要保留在一个int数组中).好像有点矫枉过正,不是吗?

我来自Python背景,我只是想知道在C++中使用它的更合适的方法是什么.

c++

5
推荐指数
2
解决办法
5150
查看次数

C#需要更快的方法来从子数组中找到最大的double值

我需要一个更快的方法来从子数组中找到最大的double值.

这是我现在这样做的方式:

static double FindMax(double[] x, int startIndex, int endIndex)
{
    int i = startIndex;
    double max = x[i++];
    double value;
    while(i <= endIndex)
    {
        value = x[i++];
        if (value > max) max = value;
    }
    return max;
}
Run Code Online (Sandbox Code Playgroud)

但它有点慢.我需要一个更快的方法.有小费吗?

c#

3
推荐指数
1
解决办法
431
查看次数

从整数数组中选择最小数字的任何更快的方法?

例如,我有一个如下所示的数组:

int[] arrayOne = new int[10]{3,1,29,5,2,4,7,10,38,42};
Run Code Online (Sandbox Code Playgroud)

以下是我从阵列中选择最小数字的方法

       int pickMinNumber (int[] intArray)
        {
          int result = intArray[0];
          for (int i = 0; i < arrayOne.Length; i++)
           {
                if(intArray[i] < result)
                   result = intArray[i];
           }
          return result;
        }
Run Code Online (Sandbox Code Playgroud)

有没有更快的方法来选择最小数量?

c#

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

如何在log(n)时间内在数组的任何范围内找到最大值?

例如阵列:{1,5,2,3,2,10}

范围:0-1答案:5范围:2-4答案:3范围:0-5答案:10等

c++ algorithm indexed binary-search-tree

0
推荐指数
1
解决办法
5545
查看次数