由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 问个C++语法的问题
相关主题
写了一个Queens的backtrack 大牛帮我看看弱问C++里NEW的一个语法问题,转行的人伤不起啊。。
弱问一道c++语法题JAVA里有没有类似C++的"(条件):? "语法 (转载)
发个C++语法问题,调节一下气氛现在Leetcode的Java不支持foreach了吗?
非CS专业的Bloomberg onsite面试也要编程吗面试只会C++可以吗?
面算法的钱给的比面C++语法的多大家都说简历要学阿三,那只知道python的语法也些会python
学Java还是C#?c++里 这个template的写法是什么意思?
除了算法,难道就不需要别的了么?面试程序员会问很多语法题么?
bloomberg电面是不是最好用c/c++?Tango面试请教 C++职位
相关话题的讨论汇总
话题: vector话题: sol话题: int话题: ret话题: row
进入JobHunting版参与讨论
1 (共1页)
l*****c
发帖数: 316
1
N皇后,写出来总是报错
说我placeQueen里面没有声明vector>& reta
好久没写C++了。请帮忙提个错
多谢
vector > solveNQueens(int n) {
// Start typing your C/C++ solution below
// DO NOT write int main() function
vector> ret = new vector>();
if (n <= 0) {
return ret;
}
int * sol = new int[n];
placeQueen(sol, n, 0, ret);
return ret;
}
void placeQueen(int sol[], int n, int row, vector>& reta)
{
if (row == n) {
reta.push_back(transform(sol),n);
return;
}
for (int i = 0; i < n; i++) {
if (!taken(sol, row, i)) {
sol[row] = i;
placeQueen(sol, n, row+1, reta);
}
}
}
b*********h
发帖数: 103
2
到了那个函数里 >> 之间没空格了
q********c
发帖数: 1774
3
A couple problems:
1. when you use new, you should return a pointer
2. You don't need new for vector, so use this:
vector > ret;
l*****c
发帖数: 316
4
thanks ! Now it's ok.
vector > solveNQueens(int n) {
// Start typing your C/C++ solution below
// DO NOT write int main() function
//vector> ret = new vector>();
vector > ret;
if (n <= 0) {
return ret;
}
int * sol = new int[n];
placeQueen(sol, n, 0, ret);
return ret;
}
void placeQueen(int sol[], int n, int row, vector >& reta
) {
if (row == n) {
reta.push_back(transform(sol, n));
return;
}
for (int i = 0; i < n; i++) {
if (!taken(sol, row, i)) {
sol[row] = i;
placeQueen(sol, n, row+1, reta);
}
}
}
bool taken(int sol[], int row, int col) {
//check col and diag
for (int i = 0; i < row; i++) {
if (sol[i] == col) {
return true;
}
if (row-i == abs(col-sol[i])) {
return true;
}
}
return false;
}
vector transform(int sol[], int n){

vector ret;
for (int i = 0; i < n; i++) {
string sb ="";
for (int j = 0; j < n; j++) {
if (j == sol[i]) {
sb=sb+"Q";
}
else {
sb=sb+".";
}
}
ret.push_back(sb);
}
return ret;
}

【在 q********c 的大作中提到】
: A couple problems:
: 1. when you use new, you should return a pointer
: 2. You don't need new for vector, so use this:
: vector > ret;

1 (共1页)
进入JobHunting版参与讨论
相关主题
Tango面试请教 C++职位面算法的钱给的比面C++语法的多
求教Eight queens puzzle里java代码理解学Java还是C#?
找工作tip贴 - 简历篇除了算法,难道就不需要别的了么?
找工作tip贴-递简历与networkingbloomberg电面是不是最好用c/c++?
写了一个Queens的backtrack 大牛帮我看看弱问C++里NEW的一个语法问题,转行的人伤不起啊。。
弱问一道c++语法题JAVA里有没有类似C++的"(条件):? "语法 (转载)
发个C++语法问题,调节一下气氛现在Leetcode的Java不支持foreach了吗?
非CS专业的Bloomberg onsite面试也要编程吗面试只会C++可以吗?
相关话题的讨论汇总
话题: vector话题: sol话题: int话题: ret话题: row