C++ 筆試基礎題 27 摺紙練習題 牛客網 7.11
請把紙條豎著放在桌?上,然後從紙條的下邊向上?對摺,壓出摺痕後再展 開。此時有1條摺痕,突起的?向指向紙條的背?,這條摺痕叫做「下」摺痕 ;突起的?向指向紙條正?的摺痕叫做「上」摺痕。如果每次都從下邊向上? 對摺,對摺N次。請從上到下計算出所有摺痕的?向。
給定折的次數n,請返回從上到下的摺痕的數組,若為下摺痕則對應元素為"down",若為上摺痕則為"up".
測試樣例:1
返回:["down"]
代碼寫的比較簡單:鏈接:https://www.nowcoder.com/courses/1/7/11來源:牛客網class
FoldPaper {
public
:
//遞歸調用
void
fold(
int
i,
int
N,bool down,vector<string> &ret){
if
(i > N)
return
;
fold(i +
1
,N,
true
,ret);
ret.push_back(down ?
"down"
:
"up"
);
fold(i +
1
,N,
false
,ret);
}
vector<string> foldPaper(
int
n) {
vector<string> ret;
fold(
1
,n,
true
,ret);
return
ret;
}
};
鏈接:https://www.nowcoder.com/courses/1/7/11來源:牛客網class
FoldPaper{
public
:
void
func(
int
i,
int
n,stringret,vector<string>&v)
{
if
(i>n){
return
;
}
func(i+
1
,n,
"down"
,v);
ret==
"down"
?v.push_back(
"down"
):v.push_back(
"up"
);
func(i+
1
,n,
"up"
,v);
}
vector<string>foldPaper(
int
n){
vector<string>v;
func(
1
,n,
"down"
,v);
return
v;
}
};
推薦閱讀:
※自製複雜逼真的立體鑽石手工摺紙方法詳細教程╭★肉丁網
※鈴蘭摺紙 子龍花卉摺紙
※【摺紙大全】手工摺紙蝴蝶摺紙教程
※史上最全各種摺紙技巧,這是誰收集的?太寶貴了!!!
※母親節摺紙三角插手工製作教程推薦