首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
在线笔面试、雇主品牌宣传
登录
/
注册
小菜菜找实习
获赞
17
粉丝
1
关注
0
看过 TA
15
男
海南大学
2022
自动化
IP属地:上海
暂未填写个人简介
私信
关注
拉黑
举报
举报
确定要拉黑小菜菜找实习吗?
发布(18)
评论
刷题
小菜菜找实习
关注TA,不错过内容更新
关注
2022-06-07 13:27
已编辑
海南大学 自动化
智能指针相关
实现一个智能指 https://github.com/chenshuo/recipes/blob/master/string/StringTrivial.h //智能指针shared_ptr代码实现 template<typename T> class SharePtr { public: SharePtr(): m_ptr(nullptr), m_count(new size_t(0)) {} SharePtr(T* t = nullptr): m_ptr(t), m_count(new size_t) { if (m_ptr == nullptr) m_count ...
0
点赞
评论
收藏
分享
2022-03-18 19:12
已编辑
海南大学 自动化
虚表机制
普通继承 此种情况下对象模型是简单的 #include<iostream> class Top { public: int a; }; class Left:public Top { public: int b; }; class Right:public Top { public: int c; }; class Bottom:public Left, public Right { public: int d; }; int main() { std::cout <&...
0
点赞
评论
收藏
分享
2021-09-07 09:18
海南大学 自动化
KMP算法
KMP算法可以从匹配串s中找出模式串p。 https://www.acwing.com/blog/content/404/ // s[]是长文本,p[]是模式串,n是s的长度,m是p的长度 求模式串的Next数组: for (int i = 2, j = 0; i <= m; i ++ ) { while (j && p[i] != p[j + 1]) j = ne[j]; if (p[i] == p[j + 1]) j ++ ; ne[i] = j; } // 匹配 for (int i = 1, j = 0; i <= n; i ++...
0
点赞
评论
收藏
分享
2021-09-06 23:07
海南大学 自动化
约瑟夫环类问题
n个人围成一个圈,从1开始对n个人编号,现在从1号开始报数,报到m的人出圈,之后从出圈后一位的人开始报数,重复直到所有人出圈,请按序输出出圈的人的编号 https://www.bilibili.com/video/BV1so4y1o7KJ?p 法一: #include<iostream> using namespace std; const int N = 110; int a[N]; int main() { int n, m; cin >> n >> m; int cnt = 0, i = 0, k = 0; whi...
0
点赞
评论
收藏
分享
2021-09-04 22:13
海南大学 自动化
最长回文子串
//https://leetcode-cn.com/problems/longest-palindromic-substring/submissions/ //中心扩展法 class Solution { public: string longestPalindrome(string s) { int n = s.size(); if (n < 2) return s; int left_max = 0, right_max = -1; for (int i = 0; i < n; ++i) ...
0
点赞
评论
收藏
分享
2021-08-26 21:40
已编辑
海南大学 自动化
找出第一个“缺失”自然数
https://www.cnblogs.com/zhanghongfeng/p/11696533.html给定一个未排序的整数数组,找出其中没有出现的最小的自然数。这里假设自然数是从0开始。示例 1:输入: [1,2,0]输出: 3示例 2:输入: [3,4,-1,1]输出: 0示例 3:输入: [0,8,9,11,12]输出: 1一个长度为n的数组,它的最小值排列应该是(0,1,2,...,n - 1),所以对一个长度为n的数组而言,缺失的最小自然数一定在区间[0, n]内。解法:我们可以借助索引的方法,将各个值放入到其对应的索引中去,比如说,如果a[0]=0,则值0已经放到了正确位置;如果...
0
点赞
评论
收藏
分享
2021-08-26 21:52
已编辑
海南大学 自动化
智力题
十二个球,其中有一个坏球,你有一个秤,请秤三次把坏球找出来https://wenku.baidu.com/view/6481c4c058f5f61fb7366677.html
0
点赞
评论
收藏
分享
2022-03-18 21:18
已编辑
海南大学 自动化
string类的实现
出处:https://github.com/chenshuo/recipes/blob/master/string/StringTrivial.h #include<utility> #include<assert.h> #include<string.h> class String { String() : data_(new char[1]) { *data_ = '\0'; } String(const char* str) : data_(new char[strlen(str) + 1]) { ...
0
点赞
评论
收藏
分享
2021-08-31 16:45
已编辑
海南大学 自动化
进程和线程及相关引申
进程是资源分配和拥有的基本单位,线程是CPU调度的基本单位。进程是可执行程序在系统中动态执行的抽象,线程可以理解为轻量级的进程,同一个进程内部有多个线程。一个进程拥有堆区、栈区、代码区和数据区,一个线程共享进程的堆、全局变量、静态变量、指针,引用、文件等,而独自占有栈和少量寄存器。进程切换需要保存CPU环境(栈、寄存器、页表和文件句柄等),开销较大,而线程切换只需要保存程序计数器、少量寄存器和栈的内容,开销较小。多进程引申出IPC,多线程引申出同步互斥机制。 进程间的通信方式:文件、管道、命名管道、信号、共享内存、消息队列、套接字、命名管道管道是一种最基本的 IPC 机制,作用于有血缘关系的进...
0
点赞
评论
收藏
分享
2021-08-24 18:26
海南大学 自动化
IO多路复用模型:select、poll、epoll
搬运和个人补充:简单来讲:1.select你每次调用时都要传入你要关注的套接字的描述符,这里需要将一组套接字描述符从用户空间拷贝到内核空间,有较大开销,传入之后操作系统会轮询所有的套接字,如果有套接字已经就绪(读就绪或写就绪)就会返回提示已经有套接字就绪,但不会指出那个套接字已经怎样就绪,轮询过程中一直没有就绪套接字就会等到超时时间到再返回。select和poll大同小异,select会将描述字拷贝到内核中的数组,而poll会将描述字拷贝到内核中的链表,所以select一次传输的描述字有限制,而poll则一般没限制。2.epool不同在于套接字描述符从用户空间拷贝到内核空间只会在调用epool...
0
点赞
评论
收藏
分享
2021-07-27 11:43
已编辑
海南大学 自动化
接雨水问题
1.一维接雨水给定一个直方图(也称柱状图),假设有人从上面源源不断地倒水,最后直方图能存多少水量?直方图的宽度为 1。上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的直方图,在这种情况下,可以接 6 个单位的水(蓝色部分表示水)。 class Solution { public: int trap(vector<int>& height) { if (height.empty()) return 0; int n = height.size(); vector<int> left(n...
0
点赞
评论
收藏
分享
2021-09-07 10:37
已编辑
海南大学 自动化
由前序/后序+中序求层序
#include <iostream> #include <cstring> #include <algorithm> #include <vector> #include <unordered_map> #include <queue> using namespace std; int n; const int N = 40; int postorder[N], inorder[N]; unordered_map<int, int> l, r, pos; int build(int pl, int pr,...
0
点赞
评论
收藏
分享
2021-05-04 18:27
已编辑
海南大学 自动化
表达式求值
首先,后缀表达式不需要括号来确定优先级,而中缀表达式需要括号来确定优先级,如(2+1)X(3+4)这个中缀表达式如果没括号则无法求出正确的值,而对于这个中缀表达式对应的后缀表达式21+34+*则可以直接求出值来。 由后缀表达式求值 class Solution { public: stack<int> stk; void eval(string& ch) { int a = stk.top(); stk.pop(); int b = stk.top(); stk.pop(); if (ch == &qu...
0
点赞
评论
收藏
分享
2021-05-04 16:33
已编辑
海南大学 自动化
面试要点和基础题
一些大神的总结:https://github.com/linw7/Skill-Treehttps://blog.nowcoder.net/zhuanlan/3m2ONjhttps://www.zhihu.com/column/c_13498608754241167361.重载、覆盖与隐藏函数重载、覆盖(也有叫重写的)与隐藏成员函数被重载的特征:(1)相同的范围(在同一个类中);(2)函数名字相同;(3)参数不同;(4)virtual 关键字可有可无。覆盖是指派生类函数覆盖基类函数,特征是:(1)不同的范围(分别位于派生类与基类);(2)函数名字相同;(3)参数相同;(4)基类函数必须有virt...
0
点赞
评论
收藏
分享
2021-05-04 16:32
已编辑
海南大学 自动化
链表插入与逆置
不带头结点的链表: head(头指针)-->a1|next-->a2|next-->a3|next-->...-->an|NULL 第一个链表元素称为首结点,最后一个链表元素称为尾结点 带头结点的链表 head(头指针)-->a|next(头结点)-->a1|next-->a2|next-->a3|next-->...-->an|NULL 第一个链表元素称为首结点,最后一个链表元素称为尾结点 插入链表元素(不带头结点链表) LinkNode* head = NULL; //链表建立 //若用void InsertLink(L...
0
点赞
评论
收藏
分享
1
2
关注他的用户也关注了:
牛客网
牛客企业服务