自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

原创 vscode的latex设置备份

{“jupyter.interactiveWindowMode”: “perFile”, // ======================== LaTeX 设置 BEGIN ======================== // bibtex 格式 "latex-workshop.bibtex-format.tab": "tab", // 自动编译,全部关闭,当且仅当你认为有需要的时候才会去做编译 "latex-workshop.latex.autoBuild

2021-04-18 21:00:12 280

原创 vscode错误:The terminal process “/bin/bash ‘-c‘, ‘wmake‘“ failed to launch (exit code: 127).

解决方法参考:https://github.com/microsoft/vscode/issues/107895将"terminal.integrated.inheritEnv": false设置为true

2021-01-04 20:12:52 4901

原创 从数组中任选数量的元素,元素和为目标值,有多少种组合

题目数组中元素为正整数,如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 1197 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 189

原创 归并排序

#include <iostream>using namespace std;void merge(int a[], int lo, int mid, int hi){ int* b = new int[mid - lo]; for (int i = 0; i < mid - lo; ++i) b[i] = a[lo + i]; for (int i = lo,j = 0, k = mid; i < hi; ++i) { if (k > hi - 1 || (

2020-10-09 10:24:57 51

转载 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 48

原创 深信服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 872

原创 使用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 133

转载 菱形继承与虚基表

参考: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 130

转载 背包问题

背包问题参考:背包问题九讲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 52

原创 网易面试

内联函数是否能是虚函数参考:https://blog.csdn.net/fightHHA/article/details/81772399内联函数能否声明为虚函数(1)只有成员函数才能声明为虚函数,因为虚函数仅适用于有继承关系的类对象,所以普通函数不能声明为虚函数;(2)虚函数必须是非静态成员函数因为静态成员函数不受限与某个对象;(3)内联函数不能声明为虚函数,因为内联函数不能再运行中动态确定其位置;(4)构造函数不能声明为虚函数,多态是指不同对象对同一消息有不同的行为特征,虚函数作为运行过程中

2020-09-15 13:11:59 85

原创 快排

#include <iostream>#include <vector>#include <algorithm>using namespace std;void shuffle(vector<int> &nums){ int n = nums.size(); for (int i = 0; i < n; i++) { swap(nums[i], nums[rand() % (n - i) + i]); } return

2020-09-13 00:39:19 86

原创 组合、排列、幂集

组合从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 <&lt

2020-09-10 23:29:35 231

原创 建堆

建堆操作仅需要O(n)的时间复杂度,可用来找最大值或者TOP(k)问题。需要注意移位操作(<<)的优先级比加/减(+/-)的低,需要加括号。#include <iostream>#include <vector>using namespace std;void down(vector<int> &a, int i){ int n = a.size(); while (((i << 1) + 1) < n || ((i

2020-09-09 23:42:47 94

原创 数据结构与算法题

数据结构与算法题贪心算法和动态规划啥区别?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 70

原创 操作系统面试题

操作系统面试题进程和线程区别如何创建线程,三种方式的区别如何创建线程池

2020-09-07 00:51:30 254

原创 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 161

转载 多态与虚函数

多态虚函数

2020-09-04 23:49:35 108

原创 百度笔试记录

百度笔试记录BF算法的复杂度?BF算法(Brute Force),即暴力算法,是普通的模式匹配算法。BF算法的思想就是将目标串S的第一个字符与模式串T的第一个字符进行匹配,若相等,则继续比较S的第二个字符和 T的第二个字符;若不相等,则比较S的第二个字符和T的第一个字符,依次比较下去,直到得出最后的匹配结果。BF算法是一种蛮力算法。BF算法复杂度 O(M*N)Dijkstra算法迪杰斯特拉(Dijkstra)算法是典型最短路径算法,用于计算一个节点到其他节点的最短路径。它的主要特点是以起始点为中

2020-09-04 19:54:13 196

转载 SOCKET面试题

SOCKET面试题Socket是什么?socket是应用层与传输层的一个抽象,将复杂的TCP/IP协议隐藏在Socket接口之后,只对应用层暴露简单的接口socket是一种特殊的文件,它也有文件描述符,进程可以打开一个socket,并且像处理文件一样对它进行read()和write()操作,而不必关心数据是怎么在网络上传输的socket是一个tcp连接的两端Socket如何唯一标识一个进程?socket基于tcp协议实现,网络层的ip地址唯一标识一台主机,而传输层的协议+端口号可以唯一标识绑定到

2020-09-04 17:23:29 1510

转载 计算机网络面试题

计算机网络面试题计算机网络体系结构OSI,TCP/IP,五层协议的体系结构,以及各层协议网络层IP (网络之间互联的协议) 你知道IP数据报的格式吗? IP地址分为哪几类?简单说一下各个分类ARP(地址解析协议) ARP是地址解析协议,简单解释一下工作原理。运输层TCP(传输控制协议) TCP协议如何保障传输的可靠性 TCP了解吗,说一下滑动窗口 TCP的拥塞控制怎么实现的 讲讲TCP握手的三次流程 讲讲TCP的四次挥手过程 TCP四次挥手的原因 为什么建立连接协议是三

2020-09-03 18:24:55 7365

转载 友元(friend)

友元(friend)私有成员只能在类的成员函数内部访问,如果想在别处访问对象的私有成员,只能通过类提供的接口(成员函数)间接地进行。这固然能够带来数据隐藏的好处,利于将来程序的扩充,但也会增加程序书写的麻烦。C++ 是从结构化的C语言发展而来的,需要照顾结构化设计程序员的习惯,所以在对私有成员可访问范围的问题上不可限制太死。C++ 设计者认为, 如果有的程序员真的非常怕麻烦,就是想在类的成员函数外部直接访问对象的私有成员,那还是做一点妥协以满足他们的愿望为好,这也算是眼前利益和长远利益的折中。因此,C

2020-08-30 17:46:37 107

转载 C++的4种类型转换方式

C++的4种类型转换方式类型转换有c风格的,当然还有c++风格的。c风格的转换的格式很简单(TYPE)EXPRESSION,但是c风格的类型转换有不少的缺点,有的时候用c风格的转换是不合适的,因为它可以在任意类型之间转换,比如你可以把一个指向const对象的指针转换成指向非const对象的指针,把一个指向基类对象的指针转换成指向一个派生类对象的指针,这两种转换之间的差别是巨大的,但是传统的c语言风格的类型转换没有区分这些。还有一个缺点就是,c风格的转换不容易查找,他由一个括号加上一个标识符组成,而这样的东

2020-08-30 17:30:36 85

转载 子类构造与析构时,父类构造与析构机制

子类构造与析构时,父类构造与析构机制1构造子类对象时,先调用父类构造函数,再调用子类构造函数(构造函数没有虚函数这一说法)析构子类对象时,先调用子类的析构函数,再调用父类析构函数(无论父类的析构函数是否为虚函数)构造子类构造的父类对象时,先调用父类构造函数,再调用子类构造对象(构造函数没有虚函数这一说)析构子类构造的父类对象时:若父类时虚函数,则先调用子类析构函数,再调用父类析构函数若父类不是虚函数,则只调用父类的析构函数https://blog.csdn.net/weixin_

2020-08-30 17:29:49 1334

原创 公有继承,保护继承和私有继承

C++种public、protected、private总结1public:类内、类的对象;派生类、派生类对象均可访问。protected:类内、派生类内可以访问;类的对象、派生类的对象不可访问。private:只有类内可以访问;类的对象、派生类内、派生类的对象不可访问。C++继承:公有继承、保护继承、私有继承2公有继承公有继承时,对基类的共有成员和保护成员的访问属性不变,派生类的新增成员可以访问基类的公有成员和保护成员,但是访问不了基类的私有成员。派生类的对象只能访问派生类的公有成员(包

2020-08-30 17:28:20 2046

原创 解决opencv报错:The function is not implemented

解决opencv报错:The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Carbon support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or con...

2019-10-18 14:15:39 1791 1

原创 Ubuntu+Anaconda安装pytorch

安装流程防止忘记,记录一下。在安装好Anaconda后,新建环境,然后复制pytorch官网安装命令,指定下载通道为清华镜像。#新建环境conda create -n pt python=3.7#安装命令conda install --channel https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/ pytorc...

2019-10-12 18:57:24 381

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除