Loading Now

[Cpp-STL] list4

STL C++List

Bài tập.

Cho một list số nguyên.

Hãy xóa phần tử đầu tiên và phần tử cuối cùng trong list đó.

Ví dụ:

  • Với v = [1, 2, 3, 4, 5], thì verifyFunction(v) = [2, 3, 4].

  • Với v = [4, 2, 6, 3], thì verifyFunction(v) = [2, 6].

Lý Thuyết.

Nếu như hàm push_back() dùng để thêm một phần tử và cuối vector, thì hàm pop_back() (có độ phức tạp là O(1)) sẽ dùng để xóa phần tử cuối cùng trong vector.

Nếu Nếu như hàm push_front() dùng để thêm một phần tử và đầu vector, thì hàm pop_front() (có độ phức tạp là O(1)) sẽ dùng để xóa phần tử đầu tiên trong vector.

Ví dụ:

	//a = [1,2,3,4,5]
	a.pop_back();	// a = [1,2,3,4]
	a.pop_back();   // a = [1,2,3]
	a.pop_front();   // a = [2,3]
	a.pop_front();   // a = [3]

 

Hướng dẫn.

Code mẫu:

list<int> deleteFrontBack(list<int> l) {
	l.pop_front();
    l.pop_back();
    return l;
}

vector<int> verifyFunction(vector<int> v) {
	list<int> l(v.begin(), v.end());
	l = deleteFrontBack(l);
	vector<int> ans(l.begin(), l.end());
	return ans;
}

Post Comment

Contact