标签: minmax

Python 中列表的最小值和最大值(不使用 min/max 函数)

我想知道是否有一种方法可以在不使用 Python 中的 min/max 函数的情况下找到列表的最小值和最大值。所以我使用递归编写了一个小代码。我的逻辑非常天真:我制作了两个堆栈(min_stack 和 max_stack),它们在每次递归调用期间跟踪最小值和最大值。我有两个问题:

  1. 有人可以帮我估计我的代码的复杂性吗?
  2. 有一个更好的方法吗?使用合并排序/快速排序对列表进行排序并选取第一个和最后一个元素会带来更好的性能吗?

谢谢

这是我在 Python 中的尝试:

minimum = []
maximum = []

# Defining Stack Class
class Stack:
    def __init__(self) :
        self.items = []

    def push(self, item) :
        self.items.append(item)

    def pop(self) :
        return self.items.pop()

    def access(self, index):
        return self.items[index]

    def isEmpty(self) :
        return (self.items == [])

    def length(self):
        return len(self.items)

def minmax(input_list):
    # make two stacks, one for min and one for max
    min_stack = Stack()
    max_stack = Stack()
    # comparing the first …
Run Code Online (Sandbox Code Playgroud)

python algorithm minmax

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

游戏的最小 - 最大评估功能

我正在开发一款游戏(坦克游戏2D),(例如 - 链接)AI玩家.我的玩家将成为其他5个玩家中的一个(AI也是),他们在网格中的某个地方随机出现获取最大硬币.(看看上面给出的图片).玩家也可以互相射击.并且健康包也随机出现在网格中的某个位置.

因此,为了使用min max tree并找出最聪明的下一步,我必须构建一个评估函数.问题出现在这里,我以前没有这种评估功能的经验.我应该遵循任何指导方针,还是有一种共同的方法来做到这一点我的意思是我有一些想法,我不确定它是否会这样做工作.你能建议我应该研究哪个领域.我用Google搜索并发现了许多东西,但没有适当的教程或类似的东西.谢谢.

algorithm evaluation artificial-intelligence minmax

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

Ruby 组合比较运算符 (<=>) 和 min / max / minmax 函数

我理解#max、#min、#minmax。我明白<=>。但它如何在这些函数之一的块中工作呢?

也就是说,下面第三行发生了什么?#min <=> 在做什么?

a = %w(albatross dog horse)
a.min                                   #=> "albatross"
a.min { |a, b| a.length <=> b.length }  #=> "dog"
Run Code Online (Sandbox Code Playgroud)

来自http://ruby-doc.org/core-2.2.3/Enumerable.html#method-i-min的示例

对于数字数组它会有什么行为?

ruby max min logical-operators minmax

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

列表中的最大数字,无论正数和负数的符号如何

我想从一个包含正数、负数且不考虑符号的列表中找到最大数字。例如:

arr = [2,3,-6,5]
## output: -6

arr = [2,3,6,-5]
## output: 6
Run Code Online (Sandbox Code Playgroud)

我有以下正在运行的代码:

def max_number(l):
    abs_maxval = max(l,key=abs)
    maxval = max(l)
    minval = min(l)
    if maxval == abs_maxval:
        return maxval
    else:
        return minval
Run Code Online (Sandbox Code Playgroud)

虽然这是有效的并且时间复杂度是O(N),但我想知道是否有办法更快地找到数字或优化代码?据我了解,我正在扫描列表 3 次,这对于大型列表来说可能会更慢,而对于我的问题,我正在浏览数十万个大型列表。任何建议都会有帮助。谢谢!

python algorithm list time-complexity minmax

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

如何在VB excel 2003中迭代MIN/MAX函数中的单元格?

    Set min=min1=1000, max=max1=position=0   
    For i=2 to 10 do 
    min=**MIN(A(i,j):A(i+5,j));**  
    if position=0 then min1=min, position=1 else  
    For j=2 to 10 do  {max=**MAX(A(i,j):A(i+5,j));**  
    if max<min then next j else position=0, next i 
Run Code Online (Sandbox Code Playgroud)

我是新手,并试图在VB excel上面做下面的代码(问题是粗体):谢谢

iteration excel vba excel-vba minmax

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

std :: minmax initializer_list <T>参数

也许这个问题有点理论,但我不知道什么是落后定义设计激励std::minmax这样的

template <class T>
pair<T,T> minmax (initializer_list<T> il);
Run Code Online (Sandbox Code Playgroud)

这意味着,IMO(传递的对象)li将被复制,其每个成员也必须是可复制构造的.

虽然,std::min_element(或者就此而言std::max_element)在某种意义上更加"有效",但只传递容器迭代器(不需要实际复制整个容器)

template <class ForwardIterator>
ForwardIterator min_element (ForwardIterator first, ForwardIterator last);
Run Code Online (Sandbox Code Playgroud)

编辑 - 基于Joachim Pileborg评论,initializer_list<T>对象没有被复制,所以我正在查明我的问题 - 为什么std::minmax被约束到这样的对象而不是任意容器(具有"非const"性质,可以这么说)

c++ std c++-standard-library minmax c++11

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

显示错误 此 MinMaxScaler 实例尚未安装。在使用此方法之前使用适当的参数调用“fit”

我试图在预测成本后取回原始值。

我使用 MinMax 特征缩放来缩放目标特征。我得到了一个缩放的输出。我正在尝试将它们转换为原始值,但它显示了一个错误。

from sklearn.preprocessing import MinMaxScaler
scaler = MinMaxScaler()
food[["COST"]] = scaler.fit_transform(food[["COST"]])

scaler.inverse_transform(y)
pd.DataFrame(y,columns=["COST"])
y.to_excel("yg.xlsx",index=False)
Run Code Online (Sandbox Code Playgroud)

我正在尝试将预测的成本值转换为原始值,并使用原始成本值保存一个 Excel 表。请帮忙!

python minmax inverse-transform

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

指针不能正确打印值

我想问为什么我的代码不起作用我已经厌倦了很多事情无济于事由于一些特殊的原因,程序可以找到数组的最小值,但找不到它的最小值并返回值0.000000 .希望下面的代码有所帮助.

这就是我的主要功能.

int main(void){

    float array[5] = {12,32,56,67,54};

    float min;
    float max;

    float *ptrMin;
    float *ptrMax;

    ptrMin = &min;
    ptrMax = &max;

    findMinMax(array, ptrMin, ptrMax);

    printf("%f %f", *ptrMin, *ptrMax);

    system("pause");
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我使用函数findMinMax将两个值返回给我的main函数.

void findMinMax(float *array, float *ptrMin, float *ptrMax){
    float ptrMinTemp;
    float ptrMaxTemp;

    *ptrMin = ptrMinTemp;
    *ptrMax = ptrMaxTemp;

    while(*array){
        if(*array < ptrMinTemp){
            ptrMinTemp = *array;
            *ptrMin = ptrMinTemp;
        }

        if(*array > ptrMaxTemp){
            ptrMaxTemp = *array;
            *ptrMax = ptrMaxTemp;
        }
        array++;
    }
}
Run Code Online (Sandbox Code Playgroud)

在添加此评论之前,是的,我创建了原型函数,并且还包含了正确的头文件.

#include <stdio.h>
#include …
Run Code Online (Sandbox Code Playgroud)

c arrays algorithm pointers minmax

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