百度数据库 面经
C++11的新特性?
shared_ptr,和unique_ptr,有何区别?
内存泄漏知道吗,内存溢出呢?
epoll和selece的区别,epoll怎么实现轮询?套接字socket监听的是什么,套接字怎么实现数据传输?
map怎么实现的?红黑树怎么实现?优点是什么
内存结构说一下?
基类的析构函数为什么要是虚函数?析构先析子类吗?
如果有一个空的类,编译器会给他默认生产什么?
大端,小端的区别说一下,软硬连接说下?
进程和线程的区别?主线程挂了,其他线程怎么办?
shell里面的一个文件 找出abc出现多少次,怎么找?
shell语句知道的说一下
普通文本和shell脚本有什么不同
gdb调试:命令说一下,怎么进入线程调试?
数据库
从一个表中挑选年龄最大的人的语句是啥
输入一个字符串,按字典序打印出该字符串中字符的所有排列。
例如输入字符串abc,则按字典序打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。
输入描述:
输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。
例如输入字符串abc,则按字典序打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。
输入描述:
输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。
class Solution {
public:
vector<string> Permutation(string str) {
vector<string> ans;
map<string, int> temp;
int strLen = str.size();
int i = 0;
temp[str]++;
for(; i < strLen; ++i) {
for(j = i + 1; j < strLen; ++j) {
swap(str[i], str[j]);
temp[str]++;
swap(str[i], str[j]);
}
}
for(int k = 0; k < map.size(); ++k) {
ans.push_back(temp[k][0]);
}
return ans;
}
};
#百度##C++工程师##校招##面经#public:
vector<string> Permutation(string str) {
vector<string> ans;
map<string, int> temp;
int strLen = str.size();
int i = 0;
temp[str]++;
for(; i < strLen; ++i) {
for(j = i + 1; j < strLen; ++j) {
swap(str[i], str[j]);
temp[str]++;
swap(str[i], str[j]);
}
}
for(int k = 0; k < map.size(); ++k) {
ans.push_back(temp[k][0]);
}
return ans;
}
};