我正在写一个小的递归算法。代码如下:
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
vector<int> coins;
int checkchange(int left) {
vector<int> choices (coins.size());
if (left == 0)
return 0;
else {
int min;
for (int i=0;i<coins.size();i++) {
choices.at(i) = (1 + checkchange(left - coins.at(i)));
}
return min_element(choices.front(),choices.back());
}
}
int main() {
int N;
cin >> N;
for (int i=0;i<N;i++) {
int c,m,temp,change;
cin >> c >> m;
for (int j=0;j<c;j++) {
cin >> temp;
coins.push_back(temp);
}
for (int j=0;j<m;j++) {
cin >> temp;
change = checkchange(temp);
cout << change;
}
}
return 0;
}
我得到以下错误:
在
/usr/lib/gcc/x86_64-redhat-linux/4.4中包含的文件中。7/../../../../包括/c/4.4。7/算法:62,
来自燃烧硬币。cpp:3:/usr/lib/gcc/x86_64-redhat-linux/4.4。7/../../../../包括/c/4.4。7位/stl_算法。h:
在函数“\u FIter std::min\u element(\u FIter,\u FIter)[带\u FIter=
int]”中:烧钱。cpp:19:从此处实例化
/usr/lib/gcc/x86_64-redhat-linux/4.4。7/../../../../包括/c/4.4。7位/stl_算法。h:5998:
错误:“一元*”的类型参数无效
/usr/lib/gcc/x86_64-redhat-linux/4.4。7/../../../../包括/c/4.4。7位/stl_算法。h:5998:
错误:“一元*”的类型参数无效。
我尝试过用g和gcc进行编译,它们都给出了相同的错误。我做错了什么?
编辑:
新代码:
int checkchange(int left) {
vector<int> choices (coins.size());
if (left == 0)
return 0;
else {
for (int i=0;i<coins.size();i++) {
choices[i] = (1 + checkchange(left - coins.at(i)));
}
return *min_element(choices.begin(), choices.end());
}
}
新错误消息:
/tmp/ccV3VLsK.o:在函数main'中:
std::min_element
需要一个范围。前
和后
返回对实际值的引用。您应该使用start
和end
方法将迭代器返回到向量中的相应位置:
min_element(choices.begin(), choices.end());
// ^^^^^ ^^^
如果您觉得这很乏味,可以创建一个围绕标准min\u元素的函数:
template <class Container>
auto min_element(Container c) -> decltype(std::min_element(c.begin(), c.end()))
{
return std::min_element(c.begin(), c.end());
}
并将其用作:
min_element(choices);
我正在尝试使用Chrome、Selenium和c#在Sitecore 8.1中运行一些自动化测试。我的代码不想在Sitecore页面中找到任何元素,特别是体验编辑器。我遇到“无法定位元素”警告。 例如:我想要的项目。单击()是工具栏功能区按钮,用于显示工具栏菜单。这是元素: 这是它的 X 路径: /html/body/div/div/div[1]/nav[1]/a[3] 我已经延长了等待时间以使其
非常感谢您的帮助。 我想知道firebug复制xpath是否总是适用于webdriver。 我有一个带有列表的页面,我可以获得完整的xpath来查找前两个元素,但无法对3、4执行相同的操作。 对于第三个,它不起作用: 错误: org.openqa.selenium.NoSuchElementException:无法定位元素:{"method":"xpath","selector":"/html/b
[[Img1][Img2[Img3]我试图通过链接文本获取元素。但是低于例外。异常在线程"main"org.openqa.selenium.NoSuchElement异常:没有这样的元素:无法定位元素:{"方法":"链接文本","选择器":"CFDSDSR"} 我尝试切换到帧,但它给出了未找到的帧,但该帧存在: XPath: /html/body/table/tbody/tr/td/form/ta
请参考截图。我正试图单击“取消”按钮,如我的截图所示。即使元素的ID存在,我也无法单击按钮。弹出窗口既不是一个新窗口,也不像是一个警告我。我试图搜索是否是窗口句柄的问题。但是当我搜索窗口句柄时,它只给我一个数字: 收到错误消息- 线程“main”org.openqa.selenium.nosuchelementexception:没有这样的元素:找不到元素:{“method”:“id”,“sele
问题内容: 我有这段代码可创建视图并对其应用渐变。 Xcode没有给我任何编译错误,但是代码崩溃了 与消息 数组元素不能桥接到Objective-C 实际上,我原以为它会在那里崩溃,因为我不确定如何在Swift上创建CGColors数组。令人惊讶的是Xcode提到了Objective-C。在我看来,我正在迅速创建CGColorRef … 有什么线索吗?为什么提到Objective-C,我该如何解决
我试图刮掉一个页面,但我有时无法点击链接/按钮。 当网页加载时,那么loadingWhiteBox会先出现,然后在几秒钟后消失(但它会保留在超文本标记语言代码中),只要该框出现在网站上,我就不能点击链接并获得以下内容错误消息: 有什么办法解决这个问题吗?我已经尝试使用以下命令: 但即使元素不处于活动状态,它也存在。