自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 博客搬运工

性能测试静态库,动态库、静态与动态调用(写的特别好)大型网址系统架构的演化(1)C++11新特性、 explicit关键字(声明为explicit的构造函数不能在隐式转换中使用,只能显示调用,去构造一个类对象。//explicit关键字只对有一个参数的类构造函数有效, 如果类构造函数参数大于或等于两个时, 是不会产生隐式转换的, 所以explicit关...

2019-07-12 09:55:18 158

原创 奇安信笔试题-对尾幸运编号

题目描述:N个人排成一队,从1到5轮流报数,报5的人是幸运者,出列,报道对尾后,从队首接着报,依次循环,问:排在对尾的人是第几名幸运值?注:N为小于100000的正整数,例:1人排成一队,他就是第1名幸运者;3人排成一队,对尾就是第2名幸运者;5个人排成一队,对尾就是第一名幸运者输入:队伍总人数20输出:对尾者的幸运编号4int fun1(int N){ ve...

2019-09-09 21:27:45 510

原创 编程题

题目描述: 输入一个整形数组(可能有正数和负数),求数组中连续子数组(最少有一个元素)的最大和。int res=test[0];int tmp=test[0];for(int i=1;i<n;i++){ tmp=max(tmp+test[i],test[i]); res=max(res,tmp);}cout<<res<<endl;回...

2019-09-03 20:22:10 140

原创 数据库

外键约束的要求:FOREIGN KEY1、父表和子表必须使用相同的存储引擎,而且禁止使用临时表;子表是具有外键列的表,子表参照的表为父表2、数据表的存储引擎只能为InnoDB;3、外键列和参照列必须具有相似的数据类型,其中数字的长度或是否有符合位必须相同;而字符的长度则可以不同;4、外键列和参照列必须创建索引,如果外键列不存在索引的话,MySQL将不会创建索引。如果是参照列没有索引...

2019-08-26 21:36:33 110

原创 第一个只出现一次的字符

题目描述在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写).class Solution {public: int FirstNotRepeatingChar(string str) { map<char,int> mp; ...

2019-08-19 17:06:51 81

原创 最小的K个数

输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。优先队列实现class Solution {public: vector<int> GetLeastNumbers_Solution(vector<int> input, int k) { vector<int> ...

2019-08-19 11:41:04 77

原创 字符串的组合

#include<iostream>#include<set>#include<vector>#include<string>using namespace std;int main(){ int i, j, len; string s, s_tmp; set<string> out; set<string...

2019-08-19 10:45:58 142

原创 qutip学习笔记

个人学习过程中的理解,如果有错,欢迎各位在评论区指正1、生成矩阵# Qobj([1],[2],[3],[4],[5]) 是一个5*1列矩阵# x=np.array([[1,2,3,4,5]]) # Qobj(x) 是一个1*5列矩阵2、 基态basis;叠加态、相干态coherent(N,alpha) 的第二个参数要为复数3、对象Q的属性:Q....

2019-08-12 20:19:16 2470

原创 qutip的安装教程:windows10+anaconda+qutip

1、之前电脑安装了anaconda3.52,和一些辅助工具包numpy等2、安装过程中总是Could not connect to https://mirrors.tuna.tsinghua.edu.edu.cn/anaconda/pkgs/free/noarch/解决方案参考:https://blog.csdn.net/qq_35042020/article/details/826856...

2019-08-12 17:08:36 3837

原创 LRU 缓存机制

题目描述:设计和实现一个 LRU(最近最少使用)缓存数据结构,使它应该支持一下操作:get 和 put。get(key) - 如果 key 存在于缓存中,则获取 key 的 value(总是正数),否则返回 -1。put(key,value) - 如果 key 不存在,请设置或插入 value。当缓存达到其容量时,它应该在插入新项目之前使最近最少使用的项目作废。参考博客(讲的很详细):ht...

2019-08-12 12:01:22 82

原创 采木-C++

采木-题目描述在你面前依次排着n棵树,而你有两种工具,锯子和斧头,它们砍第i棵树的时间分别为ai和bi,一开始你拿的是斧头,而砍第i棵树前交换工具需要花费ci的时间,问题来了,依次砍2完这些树的时间最短为多少呢?输入输出输入第一行一个数n(n<=100)接下来n行,每行3个数ai,bi,ci(<=30000)输出一个数最短时间样例输入32...

2019-08-11 13:26:39 136

原创 n个字符串找出重复最多的前十个字符串

使用优先队列构建最小堆,不用使用vector数组再排序,优先队列详解(优先队列和queue不同的就在于我们可以自定义其中数据的优先级, 让优先级高的排在队列前面,优先出队,优先队列具有队列的所有特性,包括基本操作,只是在这基础上添加了内部的一个排序,它本质是一个堆实现的)#include "stdafx.h"#include<iostream>#include<m...

2019-08-07 12:04:42 815

原创 多行多组等输入问题

形式一(1)输入形式14 //元素数量1 2 3 4(2)输入形式24//元素数量12344523可以用vector用来存储int main(){ int n; int m; vector<int> V; cin >> n; for (int i = 0; i < n; i++) { cin >> ...

2019-08-04 22:15:43 318

原创 InnoDB索引

innoDB记录存储结构InnoDB数据页结构MySQL索引实现innodb索引写的很好的一篇文章(0)、MySQL服务器上负责对表中数据的读取和写入工作的部分是存储引擎,而服务器又支持不同类型的存储引擎,比如InnoDB、MyISAM、Memory等,InnoDB是MySQL默认的存储引擎,也是我们最常用到的存储引擎(1)、一条普通的记录被存储到底层的存储器上的过程。I...

2019-07-25 16:54:33 127

原创 虚函数相关代码及结果

情况1:class A { public: int A_1; int A_2;// virtual void aa() {};};class B :public virtual A{ public: int B_1; int B_2; int B_3; //virtual void aa() {}; //virtual void bb() {};};class ...

2019-07-18 11:57:52 209

原创 Linux学习笔记三

df : 列出文件系统的整体磁盘使用量du : 评估文件系统的磁盘使用量(常用于评估目录所占容量)ln : 连接文件 (不加任何参数就是hard link,加了参数-s差不多就是windows下快捷方式的意思)fdisk : 磁盘分区(查阅磁盘分区信息后按下m 有一系列的磁盘分区操作,例如删除:d,新增:n,显示分区表:p,离开:q,写入:w等)(fdisk无法支持高于2TB以上的...

2019-07-17 11:53:00 82

原创 【剑指offer-14】调整数组顺序使奇数位于偶数前面

题目描述输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。class Solution {public: void reOrderArray(vector<int> &array) { if(array.size()<2...

2019-07-16 16:36:45 69

原创 Linux学习笔记二

echo $PATH : 显示环境变量PATH =“$PATH”:/root : 将/root加入PATH中 不同身份用户默认的PATH不同,默认能够随意执行的命令也不同 本目录(.)最好不要放到PATH中去ls : 查看文件与目录 -a :全部的文件,连同隐藏文件(开头为 . 的文件)一起列出来 -i : 近列出目录本身,而不是列出目录内的文件数据 ...

2019-07-16 10:32:11 80

原创 Linux学习笔记一

Tab按键 :“命令补全”和“文件补齐”Ctrl+c : 终止Ctrl+d : EOF 或者Exitdate: 显示时间及日期 : date +%Y/%m/%d (2019/07/15) date+%H:%M (19:36)cal:显示日历 :cal 10 2019 (查看2019年10月的日历)bc:计算器 :退出的时候用qu...

2019-07-15 20:53:13 92

原创 【剑指offer-47、位运算】不用加减乘除做加法

题目描述写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。思路: 1、各位相加但不计进位(异或) 2、记下进位(先位与再左移一位) 3、前两步结果相加(前两步相加)class Solution {public: int Add(int num1, int num2) { in...

2019-07-15 16:22:24 95

原创 【剑指offer-40、位运算】数组中只出现一次的数字

题目描述:一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。例如输入数组{ 2,4,3,6,3,2,5,5, }还是看代码吧,然后再纸上画出这些数的二进制就懂了class Solution {public: void FindNumsAppearOnce(vector<int> data, int* num1, int *num2...

2019-07-15 15:54:17 81

原创 【剑指offer-10、位运算】二进制1的个数

10、二进制1的个数题目描述:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。解法一:不好!!!负数容易死循环(思想:先判断整数二进制表示中最右边1位是不是为1,然后右移一位)//解法一int Numberof1(int n){ int count = 0; while (n) { if (n & 1) count++; n=n &gt...

2019-07-15 15:50:19 98

原创 【剑指offer-9】 斐波那契数列

题目描述大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。第一种解法不好:会重复计算很多值,时间复杂度以n的指数方式增长long Fibonacci (int n){ if(n==0) return 0; if(n==1) return 1; return Fibonacci...

2019-07-12 20:51:39 67

原创 【剑指offer-8】 旋转数组的最小数字

题目描述把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。使用二分法实现O(logn)查找,如若从头到尾遍历时间复杂度为O(n)class Solution {...

2019-07-12 20:31:52 59

转载 查找算法

https://www.baidu.com/link?url=_AdIZJpaqr1Fixqqjyfyt898yPfug8ACATsMTFd150Rxwl8NddDnprTN_6lH_XTS1_dI2f6UPcqoRAUxD2I1e8bxl2kBM3irn7de4nXNfNS&wd=&eqid=9bc5150300152faa000000035d25a968二分查找:1、元...

2019-07-10 17:04:31 76

原创 排序算法2—归并、快速排序

4、归并排序https://blog.csdn.net/left_la/article/details/8656953最好、最坏、平均时间性能都为O(nlogn)空间复杂度O(n+logn)归并排序是一种占用内存,但效率高且稳定的算法//归并排序void Merge(int *a, int p, int q, int r){ //1、分配空间 int n1 = q -...

2019-07-10 15:31:21 73

原创 排序算法1—冒泡、简单选择、插入排序

需要掌握冒泡排序、插入排序、归并排序、快速排序1、冒泡排序时间复杂度分析:排序在最好的情况时,即序列本身有序,时间复杂度为O(n)最差的情况时,即序列逆序时,时间复杂度为n(n-1)/2,即o(n*n)注意:注意观察这个冒泡的内循环写法,这种冒泡比一般从前面开始比较的冒泡,算法效率稍微好一点,具体可参考《大话数据结构》p380。void BubbleSort(int ...

2019-07-09 16:04:13 124

原创 【剑指offer7】:用两个栈实现队列 ++两个队列实现一个栈

解题技巧:入栈:直接入栈1,出栈:出栈2的值:若stack2为空则将stack1中的数弹出压入stack2,再弹出stack2中的值;若栈2非空,直接弹出即可。class Solution{public: void push(int node) { stack1.push(node); } int pop() { int ...

2019-07-09 10:54:43 82

原创 螺旋队列算法分析

详细说明见博客https://blog.csdn.net/yhmhappy2006/article/details/2934435题目描述:设1的坐标是(0,0),x方向向右为正,y方向向下为正,例如,7的坐标为(-1,-1),2的坐标为(1,0)。编程实现输入任意一点坐标(x,y),输出所对应的数字!有图可知:每圈最大值max=(2*c+1)(2*c+1),c为由内往外的圈数,c&...

2019-07-08 21:31:17 97

原创 实现Zigzag数组,C++实现

题目描述:输入n,求一个n*n矩阵,规定矩阵沿45度线递增,形成一个zigzag数组,C++实现#include "stdafx.h"#include<iostream>using namespace std;void main(){ int N;//矩阵大小 cin >> N; cout << endl; int **arr=new i...

2019-07-04 21:40:19 763

原创 【剑指offer24&25】:二叉搜索树的后序遍历序列&&二叉树中和为某一值的路径

24题目描述:输入一个数组,判断该数组是不是某二叉搜索树的后序遍历的结果,如果是则返回true,否则返回false。解题技巧:(1)二叉搜索树的特点—左结点<根结点,右结点>跟结点;(2)后序遍历的根结点在数组的最后一位#include "stdafx.h"#include<iostream>#include<vector>using ...

2019-06-28 19:39:47 61

原创 【剑指offer6&18】:重建二叉树&:树的子结构

剑指offer6:重建二叉树描述:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。例如二叉树的结构如下图所示 #include "stdafx.h"#include<iostream>#include<algorithm>#include<string&g...

2019-06-21 20:29:17 61

原创 MATLAB记录

矩阵操作A = [1 -1 1; -1 1 -1; 1 -1 1][m,n] = size(A);%计算行列.m=3,n=3B = zeros(m,n);%生成一个m*n的零矩阵for i=1:m for j=1:n if A(i,j)>0 B(i,j) = A(i,j); end endend计算A的奇异值分解[U, S, V]...

2019-06-10 16:41:36 219

原创 【剑指offer 15&16&17&37】单链表操作的所有知识点与代码【2】

7、剑指offer15:链表中倒数第k个结点原理:倒数第K个结点就是从头结点开始的第n-k+1个结点,为了实现一次遍历就找到倒数第k个结点:定义两个指针,第一个指针从头指针先走K-1步,第二个指针不动;从第k补开始,第二个指针也开始从头指针遍历,两个指针一起走,当第一个指针走到尾结点时,第二个指针的位置则为n-k+1,正好为倒数第k个结点。此代码注意三种情况:(考查代码的鲁棒性)(1)输入的...

2019-06-06 10:04:51 98

原创 【剑指offer】单链表操作的所有知识点与代码【1】

链表的结点定义如下:struct ListNode{ int m_value; ListNode* m_pnext; ListNode() { vm_value=0; m_pnext=NULL; } };在单链表末尾添加一个结点传入参数为一个“指向指针的指针”和“要插入的值”。Q:为什么要是一个“指向指针的指针”?A:因为当我们往一个空链表插入一个结点...

2019-06-03 16:25:14 134

转载 【剑指offer-4】举一反三

参考https://blog.csdn.net/xjm199/article/details/26149891const int length =50;void hebing(int* arr1,int* arr2,int len1,int len2){ if(arr2==NULL ||len1+len2>length||len2<1) return; int i1=le...

2019-05-31 17:09:01 72

原创 【剑指offer-1】复制运算符函数

主要考查四个点:1、函数返回类型是否把函数返回值的类型声明为该类型的引用,并在该函数结束前返回实例自身的引用(即*this):可参考“Effective C++ 条款10”2、传入参数类型是否把传入参数的类型声明为常量引用(const),涉及到复制构造函数的问题3、是否释放实例自身已有的内存在分配新内存之前要释放自身已有的空间,避免造成内存泄露4、传入的参数和当前实例( * thi...

2019-05-29 21:08:32 82

原创 【剑指offer】C++中,四个与类型转换相关的关键字:

C++中,四个与类型转换相关的关键字:static_cast、const_cast、reinterpret_cast、dynamic_cast。static_cast------运算符完成相关类型之间的转换使用场景:如在同一类层次结构中的一个指针类型到另一个指针类型,整型到枚举类型,或者浮点型到整型等。用于基类和子类之间的指针或引用之间的转换,这种转换把子类的指针或引用转换为基类表示是安全...

2019-05-29 19:47:40 98

原创 二叉搜索树的前驱和后继节点

查找前驱节点规则若一个节点有左子树,那么该节点的前驱节点是其左子树中val值最大的节点若一个节点没有左子树,那么判断该节点和其父节点的关系 2.1 若该节点是其父节点的右边孩子,那么该节点的前驱结点即为其父节点。 2.2 若该节点是其父节点的左边孩子,那么需要沿着其父亲节点一直向树的顶端寻找,直到找到一个节点P,P节点是其父节点Q的右边孩子,那么Q就是该节点的后继节点查找后继节点规则...

2019-01-10 11:32:58 804

原创 堆排序C++实现(算法导论)

注:文章算法部分来自C++ 堆排序算法的实现与改进(含笔试面试题) - MISAYAONE的博客 - CSDN博客 https://blog.csdn.net/misayaaaaa/article/details/65999854#include "stdafx.h"#include <iostream>#include <vector>using namesp...

2018-11-27 11:28:43 214

空空如也

空空如也

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

TA关注的人

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