![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
面试
cjn_
这个作者很懒,什么都没留下…
展开
-
C++ 常见面试题
1、vector容器capacity和size区别,如何动态增长 vector中这两个属性很容易弄混淆。 size是当前vector容器真实占用的大小,也就是容器当前拥有多少个容器。capacity是指在发生realloc前能允许的最大元素数,即预分配的内存空间。 当然,这两个属性分别对应两个方法:resize()和reserve()。使用resize(),容器内的对象...原创 2018-09-09 21:08:26 · 303 阅读 · 0 评论 -
数组中位数
#include <iostream>#include <string.h>#include <vector>#include <algorithm>#include <queue>using namespace std;double search_mid_num(vector<int>& num){...原创 2019-09-18 15:41:13 · 261 阅读 · 0 评论 -
两个队列实现栈
void push(int x) { if (a.empty() && b.empty()) { a.push(x); return; } if (a.empty()) { a.push(x); while (!b.empty()) { a.push(b.front()...原创 2019-09-04 16:35:10 · 144 阅读 · 0 评论 -
大数相加
#include <iostream>#include <string.h>#include <vector>#include <algorithm>#include <sstream>using namespace std;string add_large_num(string a, string b){ int...原创 2019-08-22 20:25:31 · 107 阅读 · 0 评论 -
C++类包含构造、拷贝构造、析构、赋值
#include <iostream>#include <string.h>using namespace std;class String{public: String(const char *str = NULL); // 普通构造函数 String(const String &other); // 拷贝构造函数 ~ St...原创 2019-08-22 09:20:02 · 188 阅读 · 0 评论 -
二分查找
#include <iostream>#include <vector>#include <algorithm>#include <stack>#include <queue>using namespace std;int binary_search(vector<int>& num, int val)...原创 2019-08-19 17:27:38 · 124 阅读 · 1 评论 -
g2o曲线拟合
#include <iostream>#include <g2o/core/base_vertex.h>#include <g2o/core/base_unary_edge.h>#include <g2o/core/block_solver.h>#include <g2o/core/optimization_algorithm_lev...原创 2019-07-22 16:23:03 · 211 阅读 · 0 评论 -
面试题
1、队列的最大值请定义一个队列并实现函数max得到队列里的最大值,要求函数max,push_back,pop_front的时间复杂度都是O(1)。class Solution {public: Solution() : currIndex(0) {} void push_back(int number) { while (!maxisium.e...原创 2019-07-27 16:30:37 · 170 阅读 · 0 评论 -
笔试题
1、大富翁游戏大富翁游戏,玩家根据骰子的点数决定走的步数,即骰子点数为1时可以走一步,点数为2时可以走两步,点数为n时可以走n步。求玩家走到第n步(n<=骰子最大点数且是方法的唯一入参)时,总共有多少种投骰子的方法。输入描述:输入包括一个整数n,(1 ≤ n ≤ 6)输出描述:输出一个整数,表示投骰子的方法输入例子1:6输出例子1:32#...原创 2019-07-04 21:10:42 · 269 阅读 · 0 评论 -
排序算法 C++
1、代码#include <iostream>#include <vector>using namespace std;//冒泡排序void bubble_sort(vector<int> &nums){ for (int i = 0; i < nums.size() - 1; i++) { // times ...原创 2018-10-01 19:42:38 · 711 阅读 · 0 评论 -
leetcode 解题记录
一、数组1、26.从排序数组中删除重复项给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例1:给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。 你不需...原创 2018-10-01 22:29:41 · 718 阅读 · 0 评论 -
动态规划之背包问题
一、01背包/** * vivo2019提前批笔试第三题: * 小v负责一次活动礼品采购,每一款礼品的受欢迎程度(热度值)各不相同,现给出总金额以及各个礼品的单价 * 和热度值,且每个礼品只购买一个,如何购买可以使得所有礼品的总热度值最高。 * 输入: * 第一行是一个正整数,表示总金额(不大于1000) * 第二行是一个长度为n的正整数数组,表示礼品单价(n不大于...原创 2019-06-11 22:38:29 · 179 阅读 · 0 评论 -
二叉树
一、二叉树概念 二叉树是每个节点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用于实现二叉查找树和二叉堆。 性质1:在二叉树的第i层上至多有个结点。 性质2:深度为k的二叉树至多有个结点。 性质3:对任何一棵二叉树T,如果其终端结点数为n0,度位2的结点数为n2,...原创 2018-10-01 20:19:24 · 361 阅读 · 0 评论 -
算法基础
一、动态规划定义:动态规划一般用来求解最优化问题,其适用的条件是要求待求解的最优化问题具备两个因素:最优子结构和子问题重叠。通过求解一个个最优子问题,将解存入一张表中,当后续子问题的求解需要用到之前子问题的解时直接查表,每次查表的代价为常数时间。一句话理解动态规划就是:枚举所有状态,然后剪枝,寻找最优状态,同时将每一次求解子问题的结果保存在一张“表”中,以后再遇到重叠的子问题时从表内保存的状态...原创 2019-05-24 21:03:28 · 202 阅读 · 0 评论 -
操作系统常见面试题
1、如何调试栈溢出 2、计算机内存堆和栈的区别 3、线程同步的方式,互斥锁和信号量的对比 4、进程和线程的区别原创 2018-09-09 21:27:26 · 174 阅读 · 0 评论 -
数据结构常见面试
1、红黑树结构,查找时间复杂度 2、如何用O(1)复杂度查找到stack里面的最小值 3、八皇后 4、C++自己实现一个队列5、数组和链表的区别6、什么是kd-tree,如何实现...原创 2018-09-09 21:25:42 · 474 阅读 · 0 评论 -
字符串拷贝
#include <iostream>#include <stdio.h>#include <string.h>#include <assert.h>using namespace std;char *my_memcpy(char *dst, const char* src, int cnt){ assert(dst != nu...原创 2019-09-18 16:55:36 · 169 阅读 · 0 评论