cvte笔试 12.26
编程题
- 两题都是考虑sort的compare的方法重写。
把数组排成最小的树(中等)
- 这题来源于剑指offer,在笔试的时候,想不出来用字符串相加这个,一种用其他的方法,虽然脑海中出现了结果要用string的特性,然后返回结果。
具体的代码如下1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17class Solution {
public:
string minNumber(vector<int>& nums) {
vector<string> strs;
string res;
for(auto num:nums){
strs.push_back(to_string(num));
}
sort(strs.begin(),strs.end(),[&](const string a, const string b){
return a + b < b + a;
});
for(auto str:strs){
res += str;
}
return res;
}
};参加最多的活动
- 这题虽然我没有找到相应题目,但是本质上错不多的,就是简单的sort排序问题,加上贪心算法
如同leetcode1353题1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19class Solution {
public:
string minNumber(vector<vector<int>>& nums) {
if(nums.size() == 0)return 0;
sort(nums.begin(),nums.end(),[]const vector<int>&u,const vector<int>& v){
return u[1] > v[1];
});
int count = 1;
int x_end = nums[0][1];
for(int i = 1;i < nums.size();++i){
int start = nums[i][0];
if(start > x_end){
count++;
x_end = nums[i][1];
}
}
return count;
}
};选择题
智能指针
主要是share_ptr的用法
四大智能指针虚函数
纯虚函数和虚函数