Nếu khai báo vector trong hàm đệ quy thì có cần clear vector trước không?

chào mọi người
cho em hỏi
nếu em khai báo vector trong hàm và gọi lại hàm đó nhiều lần trong chương trình ( em dùng đệ quy)
thì có cần clear vector trước không
em cảm ơn

hàm đệ quy của e đây ạ

vector <string> generate(int n,vector <string> a){
	vector <string> L1;	vector <string> L2;
	if(n<size){
	for(int i=0; i<a.size(); i++){
		string tmp= a[i];
		if(tmp[0]=='0'){
			tmp[0]='1';
			tmp.insert(0,string(1,'1'));
			L2.push_back(tmp);
		}
		else if(tmp[0]=='1'){
			tmp[0]='0';
			tmp.insert(0,string(1,'1'));
			L2.push_back(tmp);
		}
		string tmp2 = a[i];
		tmp2.insert(0,string(1,'0'));
		L1.push_back(tmp2);
	}
	for(int i=0; i<L2.size(); i++){
		L1.push_back(L2[i]);
	}
	n++;
	return generate(n; L1);
	}
	else return L1;
}

Nhưng mà bạn đang code cái gì?

Bạn khai báo vector sai rồi kìa.

1 Like

không phải đâu copy paste vào comment nó không hiện phần < string > bác a, e khai báo đúng mà

à tên bài là gray code generation

oh e biết sai đâu rồi :smile:

Gray code thì dùng binary trick đúng hơn :slight_smile:

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?