自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 资源 (1)
  • 收藏
  • 关注

原创 设计模式复习

单例设计模式单例模式是确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。主要目的是想在整个系统中只能出现一个类的实例。比如软件的全局配置信息、线程池、日志对象、设备驱动程序对象常被设计成单例。概述:1.程序运行中一个类始终只能创建一个对象(实例) 2.构造器私有化3.调用静态方法获

2021-07-01 22:42:40 155

原创 【算法题】动态规划-旅行

题目描述示例1输入:4 2 71 2 3 4输出:18说明:2到7的合法路径有:2->1->5->6->7,长度为42->3->4->8->7,长度为72->3->7,长度为42->6->7,长度为3长度和为4+7+4+3=18链接:https://ac.nowcoder.com/acm/contest/12949/F来源:牛客网思路解析:这是今天下午参加牛客比赛的最后一题,比较有意思。看起来是个

2021-04-29 08:55:00 592

原创 【数据结构】前缀和+差分

1.1前缀和概述前缀和就是数组的前i项之和,可用于区间求和公式:for(int i=0;i<n;i++){ if(i==0) y[i]=x[i]; else y[i]=y[i-1]+x[i];}二维前缀和:二维前缀和实际上就是一个矩阵内值的和,而矩阵又可以由两个行数或列数少一的子矩阵组合后,删去重合部分再加上右下角的值来构成,也就是以下式子:代码实现如下:for(int y=0;y<n;y++)//n行 for(int x=0;x<m;x++)

2021-04-23 22:49:43 175

原创 【操作系统】阅读小结

文章目录操作系统:1.介绍一下并行与并发:2.什么是操作系统3.用户态、系统态与系统调用4.介绍一下进程与线程5.进程与线程的状态切换6.进程的调度7.进程的同步与互斥8.进程的通信9.死锁10.内存管理操作系统:下载的pdf与别人总结的知乎质料:github质料:1.介绍一下并行与并发:我用个很简单的例子来解释一下这二个概念,并发就好像在银行里面一个柜台前面排了二个不同业务的队列去办业务,而柜台在某一时刻只能为一个客户服务,看似是该柜台在办理二种业务,但却不是同时的;而并行是同时的,相对于前面

2021-04-23 22:48:48 154

原创 【c++基础】经典问题总结1

文章目录1.面向对象基础知识1.1 static关键字1.2指针与引用的区别?1.3简述extern关键字?1.4堆和栈的区别?1.5深拷贝与浅拷贝1.6内联函数(inline)是什么?1.7 struct 与 class 的区别?1.8 内存对齐是什么?(字节对齐)1.9 C++ 函数调用的压栈过程1.9 陈述一下面向对象吧1.9.1 继承1.9.2 封装1.9.3 多态1.10 C++中哪些函数不能是虚函数?1.12 重载,隐藏,覆盖的区别?1.12.1 继承时的名字遮蔽1.13 构造函数与析构函数能否

2021-04-23 22:19:50 160

原创 【比赛总结】软件挑战赛

前言这算是本人第一次参加正式参加华为的比赛,去年在外围观望各位大佬,参加了比华为难度低一些的中兴算法笔试,今年的题目相对于往年难度较低,对于数据结构有一定的高度,但最重要的还是多种多样的解题思路,可能同样的算法构建难度,较好的解题思路缺能起到很好的效果。本次的成绩是初赛:练习赛第10,正式赛第11;复赛:练习赛第13,正式赛第17。由此可以看出该赛区的竞争激烈,本队维护的代码基本框架是具有一定普适性,但要得到更高的分数需要在某些方面进行约束 后期更改的数据集的对于维护的代码不太优化,慢慢的变成了调参细

2021-04-18 23:09:11 170

原创 【数据结构】线段数组+线段树+离散化

1.概念树状数组是一个查询和修改复杂度都为log(n)的数据结构。主要用于数组的单点修改&&区间求和线段树是一个查询和修改复杂度都为log(n)的数据结构。主要用于数组的单点修改&&单点查询&&区间求和&&区间修改. 另外一个拥有类似功能的是树状数组,但是树状数组最常用的是单点修改&&区间求和. 线段树完全涵盖树状数组所有功能具体区别和联系如下:1.两者在复杂度上同级, 但是树状数组的常数明显优于线段树, 其编程复杂度

2021-04-17 15:51:36 547

原创 【力扣刷题】单调栈总结

单调栈理论1.定义从栈底元素到栈顶元素呈单调递增或单调递减,栈内序列满足单调性的栈2.性质(1)当新元素在单调性上优于栈顶时(单增栈新元素比栈顶大,单减栈新元素比栈顶小),压栈,栈深+1;(2)当新元素在单调性与栈顶相同(新元素于栈顶相同)或劣于栈顶时(单增栈新元素比栈顶小,单减栈新元素比栈顶大),弹栈,栈深-1;3.适用场景在一个数组arr[N]中,给定一个数num,分别求解各arr[i]左边比num大的距离其最近的和右边比num大的距离其最近的数,使得其时间复杂度为O(N)(优于暴力解法的

2021-03-06 14:51:06 398 1

原创 【力扣刷题】72. 编辑距离

题目:给你两个单词 word1 和 word2,请你计算出将 word1 转换成 word2 所使用的最少操作数 。你可以对一个单词进行如下三种操作:插入一个字符删除一个字符替换一个字符示例 1:输入:word1 = "horse", word2 = "ros"输出:3解释:horse -> rorse (将 'h' 替换为 'r')rorse -> rose (删除 'r')rose -> ros (删除 'e')示例 2:输入:word1 = "inten

2021-02-28 16:11:10 134

原创 【力扣刷题】剑指 Offer 27. 二叉树的镜像

题目:请完成一个函数,输入一个二叉树,该函数输出它的镜像。例如输入: 4 / \ 2 7 / \ / \1 3 6 9镜像输出: 4 / \ 7 2 / \ / \9 6 3 1示例 1:输入:root = [4,2,7,1,3,6,9]输出:[4,7,2,9,6,3,1]来源:力扣(LeetCode)链接:https://leetcode-cn.co

2020-10-28 10:50:45 118

原创 【力扣刷题】剑指 Offer 21. 调整数组顺序使奇数位于偶数前面

1.题目:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。输入:nums = [1,2,3,4]输出:[1,3,2,4] 注:[3,1,2,4] 也是正确的答案之一。提示:1 <= nums.length <= 500001 <= nums[i] <= 10000来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/diao-zheng-shu-

2020-10-11 15:46:19 182 1

原创 【力扣刷题】剑指 Offer 09. 用两个栈实现队列

1.题目:用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )示例 1:输入:["CQueue","appendTail","deleteHead","deleteHead"][[],[3],[],[]]输出:[null,null,3,-1]示例 2:输入:["CQueue","deleteHead","appendTa

2020-09-19 12:30:18 111

原创 【剑指offer】67. 把字符串转换成整数

题目:67. 把字符串转换成整数难度中等请你来实现一个 atoi 函数,使其能将字符串转换成整数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。接下来的转化规则如下:如果第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字字符组合起来,形成一个有符号整数。假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成一个整数。该字符串在有效的整数部分之后也可能会存在多余的字符,那么这些字符可以被忽略,它们对函数不应该造成影响。注意:

2020-09-03 17:06:14 121

原创 【算法】字符串中的子串与子序列

1.子串定义:子串指的是串中任意个连续的字符组成的子序列,称为该串的子串举例:假设字符串的长度为n,其非空子串的数目为你n(n+1)/2个。例如字符串“abc“的连续子串有 a,ab,abc,b,bc,c代码:(实现求s字符串的所有不重复子串)//s为待求字符串,res集合为子串集合void gets(string s, set<string> &res) { for (int i = 0; i < s.size(); i++) { for (int j = 1

2020-09-02 16:49:43 8044

原创 【算法】七大排序

常见的有以下八中排序算法:八大算法之间的时间复杂度、空间复杂度、稳定性的比较:选择排序算法准则:

2020-08-23 22:43:38 197

原创 【算法】组合数与排列数

1.计算公式:组合数c++算法:#include <iostream>using namespace std;int jc(int ,int ); //求f到e阶乘 int c(int, int); //求组合数 int main() { int n, m; //定义n,m cin >> n >> m; cout << c(n, m); //输出n,m的组合数 return 0;}int jc(int f,i

2020-08-20 21:45:19 382

原创 【MYSQL】总结

1.介绍(一)数据库操作1.cmd进入mysql:mysql -uroot -p密码2.创建数据库:create database test character set 编码('utf8') collate 校对规则('utf8_bin') //test为数据库名3.展示数据库列表show databases; 4.选择数据库use rest_0716 // rest_0716为新建数据库名5.删除数据库drop database test_0716 //删除数据库“

2020-07-19 17:09:59 274

原创 【蓝桥杯笔记】历年的真题解析与STL总结

17年真题总结17.17年:17.8:(完全背包问题)t8思路安装数学思维:如果输入的n个数的最大公约数不是是1那么他们都是质数,则凑不出的数就是无穷多个;接着我们考虑n个数的最大公约数是1的情况,比如4,5,6这三个数,这题有点背包问题的思想利用dp数组的思维,dp[i][j]表示前i个数是否可以凑成j(fales/ture);初始状态确定以后,后面的数一定是前面的数加4或者5或者6来的,分成了3种状态for (int j = 0; j < 10000; ++j) {if (f[j])f

2020-07-05 20:12:28 1158 1

原创 【面向对象】关于const、extern、static、静态变量与动态变量的一些理解

const 限定符常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的。作用域为只在文件内;常用方法:const int sum =520; (sum=1314 //错误) //局部变量externextern 放在变量或者函数之前,表示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。常用代码://file_1.hint num; //在全局作用域里声明num//file_2.cppextern int num;

2020-06-29 12:54:42 610

原创 【Git教程】廖雪峰的git教程总结

Git简介:Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。是目前世界上最先进的分布式版本控制系统(没有之一)。1.用途1.对文件进行版本管理,方便在不同版本进行切换修改,类似文件分不同时间备份让后需要时找回其中一份代替,不过更方便使用。2.对于程序员主要是可以拉取、提交代码到github上,多人开发一个项目,将其作为代码管理库。2.下载、初始配置2.1下载安装git的各版本在这里贴出可以自行找到需要的版本下载:https://git-scm.com/downlo

2020-06-07 17:17:32 938

原创 【力扣刷题】3-连通网络的操作次数(并查集)

题目用以太网线缆将 n 台计算机连接成一个网络,计算机的编号从 0 到 n-1。线缆用 connections 表示,其中 connections[i] = [a, b] 连接了计算机 a 和 b。网络中的任何一台计算机都可以通过网络直接或者间接访问同一个网络中其他任意一台计算机。给你这个计算机网络的初始布线 connections,你可以拔开任意两台直连计算机之间的线缆,并用它连接一对未直连的计算机。请你计算并返回使所有计算机都连通所需的最少操作次数。如果不可能,则返回 -1 。 示例输入:

2020-05-31 22:41:14 249

原创 【力扣刷题】2-剪绳子II(动态规划)

题目给你一根长度为 n 的绳子,请把绳子剪成整数长度的 m 段(m、n都是整数,n>1并且m>1),每段绳子的长度记为 k[0],k[1]...k[m] 。请问 k[0]*k[1]*...*k[m] 可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最大乘积是18。答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。示例输入: 10输出: 36解释: 10 = 3 + 3 +

2020-05-30 14:56:57 471

转载 算法-并查集

尊重原创,转载原文地址:https://blog.csdn.net/niushuai666/article/details/6662911例子就是杭电上的畅通工程:http://acm.hdu.edu.cn/showproblem.php?pid=1232首先在地图上给你若干个城镇,这些城镇都可以看作点,然后告诉你哪些对城镇之间是有道路直接相连的。最后要解决的是整幅图的连通性问题。比如随意给你两个点,让你判断它们是否连通,或者问你整幅图一共有几个连通分支,也就是被分成了几个互相独立的块。像畅通工程这

2020-05-30 09:36:58 122

原创 【力扣刷题】1-硬币(动态规划)

分段函数东方红煽风点火第三个第三方

2020-05-30 09:15:48 452

libmysql32位与64位.zip

qt连接数据库失败显示QMYSQL driver not loaded,由于位数不同需要的32位libmysql.dll与64位3libmysql.dll

2019-08-06

空空如也

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

TA关注的人

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