找工作
charles666_zq
这个作者很懒,什么都没留下…
展开
-
从数组中任选数量的元素,元素和为目标值,有多少种组合
题目 数组中元素为正整数,如data = {1, 2, 3, 6},目标值target=6,求data中有多少种组合的和为target值。 思路 暴力遍历data的每一种组合,使用掩码+prev_permutation的组合。 int fun(const vector<int>& data, int target) { int N = data.size(); vector<bool> bitMask(N, false); int count = 0; for (in原创 2020-10-11 19:35:23 · 1224 阅读 · 1 评论 -
MySQL学习笔记
登录和退出MySQL服务器 # 登录MySQL $ mysql -u root -p 123 # 退出MySQL数据库服务器 exit; 基本语法 -- 显示所有数据库 show databases; -- 创建数据库 create database test; -- 切换数据库 use test; -- 显示数据库中的所有表 show tables; -- 创建数据表 create table pet( name varchar(20), owner varchar(20),转载 2020-10-11 00:01:44 · 204 阅读 · 0 评论 -
leetcode148排序链表
参考:zxy-23的优雅的C++递归,归并排序 class Solution { public: ListNode * sortList(ListNode * head) { return (head == NULL)? NULL: mergeSort(head); } private: ListNode * findMid(ListNode * head) { ListNode * slow = head; Lis转载 2020-10-09 09:06:07 · 52 阅读 · 0 评论 -
深信服2020-9-24笔试
编程题有两题,第一题是大学录取问题,第二题是字符串最大匹配问题。 第一题 通过80%,运行超时。可能是sort超时,也可能是大学已经录取完毕,但还有很多考生没处理。 #include <iostream> #include <vector> #include <algorithm> using namespace std; int main() { int T; cin >> T; vector<int> N(T), M(T); vecto原创 2020-09-24 21:09:56 · 1002 阅读 · 0 评论 -
使用sstream
笔试的时候很怕遇到使用逗号分隔的输入,c++不像python有方便的split方法,c++需要使用sstream进行逗号分隔。 #include <iostream> #include <sstream> #include <string> #include <vector> constexpr auto SIZE = 5; using namespace std; int main() { vector<string> data(SIZE原创 2020-09-18 15:23:52 · 143 阅读 · 0 评论 -
菱形继承与虚基表
参考:C++继承详解之三——菱形继承+虚继承内存对象模型详解vbptr(1) 菱形继承问题 派生类D中包含两份B基类的数据,不仅有数据冗余,还只能通过C1::m_b这样的方式来使用成员变量。 虚继承 class B {}; class C1:virtual public B {}; 虚继承会在C1类中加入一个vbptr(虚基指针)和一个vbtable(虚基表) 测试代码: #include <iostream> using namespace std; class Grand { pub转载 2020-09-18 14:12:48 · 133 阅读 · 0 评论 -
背包问题
背包问题 参考:背包问题九讲 01背包问题 LeetCode:416. 分割等和子集 该题可以转换成01背包问题,数组和的一半作为背包,需要装满背包,即初始化时dp[0][0]=0,dp[0][1...v]=INT_MIN;,第一版代码如下,时间复杂度O(lenv),空间复杂度O(lenv)。 class Solution { public: bool canPartition(vector<int>& nums) { int len=nums.size();转载 2020-09-17 21:22:55 · 55 阅读 · 0 评论 -
网易面试
内联函数是否能是虚函数 参考:https://blog.csdn.net/fightHHA/article/details/81772399 内联函数能否声明为虚函数 (1)只有成员函数才能声明为虚函数,因为虚函数仅适用于有继承关系的类对象,所以普通函数不能声明为虚函数; (2)虚函数必须是非静态成员函数因为静态成员函数不受限与某个对象; (3)内联函数不能声明为虚函数,因为内联函数不能再运行中动态确定其位置; (4)构造函数不能声明为虚函数,多态是指不同对象对同一消息有不同的行为特征,虚函数作为运行过程中原创 2020-09-15 13:11:59 · 88 阅读 · 0 评论 -
组合、排列、幂集
组合 从N个不同元素中选K个,输出所有情况。 CNK=N!K!(N−K)! C_{N}^{K}=\frac{N!}{K!(N-K)!} CNK=K!(N−K)!N! 方法1:掩码排列 void combination(int N, int K) { string bitMask(K, 1); bitMask.resize(N, 0); do { for (int i = 0; i < N; i++) { if (bitMask[i] == 1) cout <<原创 2020-09-10 23:29:35 · 237 阅读 · 0 评论 -
数据结构与算法题
数据结构与算法题 贪心算法和动态规划啥区别? B树、B+的区别 BitMap位图 参考:https://blog.csdn.net/archyli/article/details/78573362 位图BitMap:位图是一个数组的每一个数据的每一个二进制位表示一个数据,0表示数据不存在,1表示数据存在。 核心操作: void Set(size_t x) { int index = x / 32;//确定哪个数据(区间) int temp = x % 32;//确定哪个Bit位 _b原创 2020-09-07 01:46:21 · 77 阅读 · 0 评论 -
操作系统面试题
操作系统面试题 进程和线程区别 如何创建线程,三种方式的区别 如何创建线程池原创 2020-09-07 00:51:30 · 266 阅读 · 0 评论 -
C++笔试奇技淫巧
C++笔试奇技淫巧 next_permutation用于全排列 vector<int> a {2,2,1}; sort(a.begin(),a.end()); do{ for (int i:a) cout<<i<<" "; cout<<endl; } while(next_permutation(a.begin(),a.end())); lower_bound和upper_bound用于二分查找(equal_range) fi原创 2020-09-05 14:09:25 · 174 阅读 · 0 评论 -
子类构造与析构时,父类构造与析构机制
子类构造与析构时,父类构造与析构机制1 构造子类对象时,先调用父类构造函数,再调用子类构造函数(构造函数没有虚函数这一说法) 析构子类对象时,先调用子类的析构函数,再调用父类析构函数(无论父类的析构函数是否为虚函数) 构造子类构造的父类对象时,先调用父类构造函数,再调用子类构造对象(构造函数没有虚函数这一说) 析构子类构造的父类对象时: 若父类时虚函数,则先调用子类析构函数,再调用父类析构函数 若父类不是虚函数,则只调用父类的析构函数 https://blog.csdn.net/weixin_转载 2020-08-30 17:29:49 · 1372 阅读 · 0 评论 -
百度笔试记录
百度笔试记录 BF算法的复杂度? BF算法(Brute Force),即暴力算法,是普通的模式匹配算法。BF算法的思想就是将目标串S的第一个字符与模式串T的第一个字符进行匹配,若相等,则继续比较S的第二个字符和 T的第二个字符;若不相等,则比较S的第二个字符和T的第一个字符,依次比较下去,直到得出最后的匹配结果。BF算法是一种蛮力算法。 BF算法复杂度 O(M*N) Dijkstra算法 迪杰斯特拉(Dijkstra)算法是典型最短路径算法,用于计算一个节点到其他节点的最短路径。 它的主要特点是以起始点为中原创 2020-09-04 19:54:13 · 210 阅读 · 0 评论 -
SOCKET面试题
SOCKET面试题 Socket是什么? socket是应用层与传输层的一个抽象,将复杂的TCP/IP协议隐藏在Socket接口之后,只对应用层暴露简单的接口 socket是一种特殊的文件,它也有文件描述符,进程可以打开一个socket,并且像处理文件一样对它进行read()和write()操作,而不必关心数据是怎么在网络上传输的 socket是一个tcp连接的两端 Socket如何唯一标识一个进程? socket基于tcp协议实现,网络层的ip地址唯一标识一台主机,而传输层的协议+端口号可以唯一标识绑定到转载 2020-09-04 17:23:29 · 1535 阅读 · 0 评论 -
计算机网络面试题
计算机网络面试题 计算机网络体系结构 OSI,TCP/IP,五层协议的体系结构,以及各层协议 网络层 IP (网络之间互联的协议) 你知道IP数据报的格式吗? IP地址分为哪几类?简单说一下各个分类 ARP(地址解析协议) ARP是地址解析协议,简单解释一下工作原理。 运输层 TCP(传输控制协议) TCP协议如何保障传输的可靠性 TCP了解吗,说一下滑动窗口 TCP的拥塞控制怎么实现的 讲讲TCP握手的三次流程 讲讲TCP的四次挥手过程 TCP四次挥手的原因 为什么建立连接协议是三转载 2020-09-03 18:24:55 · 7391 阅读 · 0 评论