avatar
问道amazon面试题# JobHunting - 待字闺中
l*1
1
大牛们给说说,有code最好
打印从棋盘的一个角落到另一个角落所有路径,貌似careercap上只有找一条路径的
谢了先
avatar
d*d
2
具体点,能怎么走?比如只能往左,左下,下走 还是什么方向都可以?
avatar
l*a
3
void GetPath(int size, int x,int y,vector& vec)
{
if(x==size&&y==size)
{ vector::iterator it;
for(it=vec.begin();it!=vec.end();++it) { cout<cout<return;
}
if(xvec.push_back('R');
GetPath(size,x+1,y,vec);
vec.pop_back();
}
if(yvec.push_back('D');
GetPath(size,x,y+1,vec);
vec.pop_back();
}
return;
}

【在 l**********1 的大作中提到】
: 大牛们给说说,有code最好
: 打印从棋盘的一个角落到另一个角落所有路径,貌似careercap上只有找一条路径的
: 谢了先

avatar
e*r
4
不好意思,请问那个pop_back()的作用是什么,怎么觉得最后vec还是空的,还有这个是所有路径的吗,怎么像是先走到最右侧,然后再向下走,只有一条路径.

【在 l*****a 的大作中提到】
: void GetPath(int size, int x,int y,vector& vec)
: {
: if(x==size&&y==size)
: { vector::iterator it;
: for(it=vec.begin();it!=vec.end();++it) { cout<: cout<: return;
: }
: if(x: vec.push_back('R');

avatar
d*d
5
If only two directions are allowed :
findPath(5,0,0,"");
void findPath(int n, int x, int y, String path)
{
if (x==n-1 && y==n-1)
{
System.out.println(path);
return;
}
else if (x>=n || y>=n)
{
return;
}
path+=" ("+x','+y+')';
findPath(n, x, y+1, path);
findPath(n, x+1,y, path);
}
avatar
g*n
6
Mark
★ Sent from iPhone App: iReader Mitbbs Lite 7.38
avatar
a*n
7
这个是回溯。
每个点上两种走法。

个是所有路径的吗,怎么像是先走到最右侧,然后再向下走,只有一条路径.

【在 e********r 的大作中提到】
: 不好意思,请问那个pop_back()的作用是什么,怎么觉得最后vec还是空的,还有这个是所有路径的吗,怎么像是先走到最右侧,然后再向下走,只有一条路径.
avatar
h*n
8
简单的回溯即可,具体采用递归实现
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。