我想知道是否有一种方法可以在不使用 Python 中的 min/max 函数的情况下找到列表的最小值和最大值。所以我使用递归编写了一个小代码。我的逻辑非常天真:我制作了两个堆栈(min_stack 和 max_stack),它们在每次递归调用期间跟踪最小值和最大值。我有两个问题:
谢谢
这是我在 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) 我正在开发一款游戏(坦克游戏2D),(例如 - 链接)AI玩家.我的玩家将成为其他5个玩家中的一个(AI也是),他们在网格中的某个地方随机出现获取最大硬币.(看看上面给出的图片).玩家也可以互相射击.并且健康包也随机出现在网格中的某个位置.
因此,为了使用min max tree并找出最聪明的下一步,我必须构建一个评估函数.问题出现在这里,我以前没有这种评估功能的经验.我应该遵循任何指导方针,还是有一种共同的方法来做到这一点我的意思是我有一些想法,我不确定它是否会这样做工作.你能建议我应该研究哪个领域.我用Google搜索并发现了许多东西,但没有适当的教程或类似的东西.谢谢.
我理解#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的示例
对于数字数组它会有什么行为?
我想从一个包含正数、负数且不考虑符号的列表中找到最大数字。例如:
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 次,这对于大型列表来说可能会更慢,而对于我的问题,我正在浏览数十万个大型列表。任何建议都会有帮助。谢谢!
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上面做下面的代码(问题是粗体):谢谢
也许这个问题有点理论,但我不知道什么是落后定义设计激励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"性质,可以这么说)
我试图在预测成本后取回原始值。
我使用 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 表。请帮忙!
我想问为什么我的代码不起作用我已经厌倦了很多事情无济于事由于一些特殊的原因,程序可以找到数组的最小值,但找不到它的最小值并返回值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)