自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(76)
  • 资源 (6)
  • 收藏
  • 关注

原创 使用非对称加密匿名加好友

使用非对称加密在匿名群中保护隐私。

2022-05-19 22:01:17 905

原创 CAP理论为什么不能同时满足

CAP理论为什么不能同时满足

2022-02-07 19:07:29 4424

原创 Spring Boot自动装配(必面问题详解)

Spring Boot自动装配问题详解。

2022-02-05 19:09:33 3154

原创 Mac下安装redis

1. 使用brew安装redisbrew install redis2. 运行redisbrew services start redis3. 下载可视化软件Redis Desktop Manager (下载链接)4. 为redis设置密码mac安装的配置文件在/usr/local/ect/redis.conf中vi /usr/local/ect/redis.conf找到 requirepass foobared,把foobared替换成你自己的密码。5. 测试连接输入账号密码即可

2020-12-14 14:37:23 237

原创 笔试问你线段树你却不会?

本文首发自本人微信公众号:今天你A了吗。每日算法讲解,面试题,冲刺BAT大厂。微信扫码关注吧:线段树:例题1 前言在上一章:《线段树:讲解与模版》中,我们讨论了线段树的原理并且给予了一套模版。我们在文中也提到,每个节点包含数组下标在 [i, j]范围内的聚合信息(如最大值,最小值,总和等)。具体细节大家可以点击上一篇文章进行查看。这次,我们找到了一道题:杭电 1166:敌兵布阵(链接在本文末尾)。对线段树的应用进行讲解。本文中线段树维护范围中数组的和。2 题目概述给定一个一位数组代表各个军营将

2020-11-06 22:20:04 330

原创 线段树:讲解与模板

本章内容介绍另一种数据结构—线段树,线段树和前文所提到的前缀和所能解决的问题相似,但使用场景不同。并且在下一章《线段树:例题讲解》会针对相关例题做出讨论。1 前缀和的局限性在使用前缀和时,我们必须保证所生成前缀和的原始数组不能发生元素的更新操作。以一维数组为例,一旦前缀和数组已经生成完毕,此时若改变原始数组中的某个值,那么其后面的前缀和都要发生更改。可以看出,前缀和方法重新生成前缀和数组的时间复杂度为O(N)2 线段树与前缀和的比较树是一种比较灵活的数据结构,可以用来解决某个范围内的数据聚.

2020-11-06 18:39:29 316

原创 前缀和(二)

本文首发自本人微信公众号:今天你A了吗。每日算法讲解,面试题,冲刺BAT大厂。微信扫码关注吧:昨天讲了前缀和(一)的内容,相信大家都很有收获,下面再接再厉,我们一起拿下前缀和(二)的内容。其实前缀和(一)讲的是一维前缀和,前缀和(二)将会讲二维前缀和的使用。一、介绍:什么是二维前缀和先看图,我们给定了一个3x7的二维整数网格mat。特别地,我们用sum[i][j]表示前i行前j列的网格中元素和,如sum[1][1]表示前一行前一列的元素和,相应的sum[0][1]和sum[1][0]就是0了。

2020-10-30 18:17:36 633

原创 前缀和(一)

本文首发自本人微信公众号:今天你A了吗。每日算法讲解,面试题,冲刺BAT大厂。微信扫码关注吧:![image.png](https://img-blog.csdnimg.cn/img_convert/0ca7cf7d80c69af1af304a1eac9c24d4.png#align=left&display=inline&height=146&margin=[object Object]&name=image.png&originHeight=624&or

2020-10-29 02:26:35 15362 4

原创 二叉树遍历:非递归

一个模板,只是换了一个输出的位置。前序遍历题目:https://leetcode-cn.com/problems/binary-tree-preorder-traversal/class Solution { public List<Integer> preorderTraversal(TreeNode root) { if(root == null) return new ArrayList<Integer>();

2020-10-27 02:14:22 100

原创 快速幂

(1)递归方法根据幂运算的性质,可以得出:计算a的n次方,如果n是偶数(不为0),那么就先计算a的n/2次方,然后平方;如果n是奇数,那么就先计算a的n-1次方,再乘上a;递归出口是a的0次方为1。根据以上原理可以得出递归的方法。递归方法时间复杂度为logn,递归不可避免的带来空间消耗int myPow(int a, int n){ if(n == 0){ return 1; }else if(n % 2 == 1){ return myPow(a, n-1) * a; }else{

2020-10-22 15:10:34 119

原创 环形链表与快慢指针

在leetcode中,环形链表1是判断链表是否存在环,环形链表2是判断环的连接点是哪一个。存在两种解法:使用set进行存储,如果在遍历过程中,遇到set中有重复的,其实这两个问题都解决了,一个是判断出是否存在环,另一方面第一个重复的肯定就是连接点。使用快慢指针。慢指针一次移动一个,快指针一次移动两个。如果在快指针不等于null前相遇说明存在环,否则说明出现null这个链表就不存在环。环状链表1:/** * Definition for singly-linked list. * class

2020-10-10 14:07:30 196

原创 根据前序遍历、中序遍历或者后序遍历,中序遍历重构二叉树

在leetcode上有两题,分别是根据前序/后序 和中序遍历重构二叉树。思路都是一样的,但是要记住,在从后序遍历重构二叉树的时候,要先从右子树进行建立,因为后序遍历先遍历的是右子树。前序遍历+中序遍历(1)首先进行边界判断,如果遍历数组为0或者1的情况下,说明这个树只有一个顶点或者没有顶点,直接进行构造。(2)根据前序遍历和中序遍历建立二叉树的思路是:前序遍历依次每一个节点对应一个子树,这个节点在中序遍历中找到它相应的位置,它的左边(当然是在子树数组范围内)就是左子树的顶点,右边就是右子树的顶点。

2020-10-08 15:14:34 196

原创 Java面试:protected和private修饰符的区别

private public修饰符很常见,很多人对protected和default的权限产生疑惑:第一点:在同一个包中,protected和default表现一致,即,当main方法所在的类和使用了protected与default修饰属性、方法的类在同一个包下面时,可以直接通过类对象调用被修饰的属性和方法。在同一个包中发生的继承,protected和default表现同样一致。第二点:当main方法所在的类与使用了protected和default修饰属性、方法的类在不在同一个包下面时,使用其他包的

2020-09-30 16:51:55 438

原创 Java面试:多态

解释:同一操作作用于不同的对象,可以产生不同的效果。这就是多态。作用:提高代码的可维护性和拓展性。把不同的子类对象都当作父类来看,可以屏蔽不同子类对象之间的差异,写出通用的代码,做出通用的编程,以适应需求的不断变化。总结:提高代码的复用增强可拓展性多态是面向对象的重要特性,简单点说:“一个接口,多种实现”,就是同一种事物表现出的多种形态。代码: public abstract class Car { public void run();//让子类来运行

2020-09-30 16:01:48 236

原创 LeetCode 236. 二叉树的最近公共祖先

题目:给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。思路:采用递归的方法,最小公共父节点,要么在二者之间,要么是二者之一。递归的边界是,遇到空或者p或者q就返回当前的节点。一个节点的子节点,如果左节点返回的是空,右节点返回的是空,说明目前还没遇到p或者q,直接返回空。如果一个子节点为空,另一个不是,说明在一个子树中找到了这个节点,返回这个子节点即可。如果两个子节点都不是空,那么说明他就是最小公共父节点。代码:/** * Definition for a binary tree n

2020-09-27 11:07:20 179

原创 LeetCode 235. 二叉搜索树的最近公共祖先

题意:思路:三种情况:最小公共祖先为p节点,q是p的子树中的节点最小公共祖先为q节点,p是q的子树中的节点p和q分布在最小公共子树的两边利用二叉搜索树的性质,如果root值要是大于两个节点的值,说明还可以往root的左子树去探索,因为搜索二叉树的性质是中序遍历的结果递增。如果root的值小于两个节点的值,可以向root的右子进行探索。如果出现root的值等于p或者q,或者root在p和q之间的情况,说明就找到了最小的祖先。代码:/** * Definition for a bina

2020-09-27 10:47:44 107

原创 LeetCode 106. 从中序与后序遍历序列构造二叉树

题意:根据一棵树的中序遍历与后序遍历构造二叉树。思路:后序遍历从后往前看,就是相当于一个前序遍历。从后往前一个个遍历,就相当于遍历了每个子树的根节点。根据这个根节点对中序遍历的数组进行划分即可。采用递归进行解题。在构造子树的时候,注意先构造右子树,再构造左子树。可以理解为在后序遍历的数组中整个数组是先存储左子树的节点,再存储右子树的节点,最后存储根节点,我们从后往前遍历post数组,相当于反过来,就是要先建立右子树。代码:class Solution { Map<Intege

2020-09-26 00:05:13 291

原创 LeetCode 501. 二叉搜索树中的众数

思路:二叉搜索树的中序遍历就是一个递增/递减的数组。可以把这一题当做一个数组处理,遍历一遍数组,如果当前元素的值跟之前的元素值一样,那么count++。如果不一样count就置1。同时设置base记录上一个元素的值,max记录出现的最大的次数。具体考虑以下两个点:是否跟之前的元素相同相同加count++不相同count = 1count是否大于max如果大于max,说明之前数组中存储的众数已经不是出现次数最多的元素,要将max结果置换,并且清空结果数组,放上当前元素。如果等于ma

2020-09-25 00:40:47 118

原创 修改idea中的maven源

1. 在设置中搜索maven搜索maven,右边有个User settings file, 点击Override,然后根据这个文件地址找到这个文件。一般来说这个文件是不存在的,你可以自己去创建。windows右击新建即可,mac/linuxtouch settings.xml chmod 777 settings.xml2 打开settings.xml进行配置以阿里源为例,复制我这段代码进去即可:<settings xmlns="http://maven.apache.org/SETTIN

2020-08-23 13:45:04 1485

原创 一文轻松搞懂 链表反转

单链表反转(时间复杂度O(n), 空间复杂度O(1))的方法主要有以下三种:头插法:从第二个元素开始,依次把元素插到插入到头结点和第一个元素之间。指针逆转:把指向后面一个元素的指针指向前面一个元素递归法:本质上跟指针逆转相同前情提要:设置一个链表,带有头结点。元素为1->2->3->4倒转过来应该是:1.头插法:从第二个元素开始,每次选取一个元素插入到头结点和第一个节点之间。第一步:把 2 插到 head 和 1 之间第二步:把 3 插入 head 与 2 之

2020-08-23 01:44:52 426

原创 一文搞懂transient关键字

最详细的transient关键字讲解1.序列化1.1 什么是序列化1.2 以文件存储为例实现序列化2.transient关键字2.1 添加transient关键字2.2 静态变量不需要加transient首先上总结:用transient关键字标记的成员变量不参与序列化(Serialize)过程。也就是说,当Java对象进行存储、网络传输的时候,使用transient修饰的变量不会被序列化,保存、传输的数据中不会有被修饰的变量信息。静态变量不会被序列化,所以不需要加transient关键字。

2020-08-09 17:15:05 680

原创 Centos下 yum安装python3

更新一下yum:sudo yum -y update安装yum-utils 【一组扩展和补充yum的实用程序和插件】sudo yum -y install yum-utils安装CentOS开发工具 【用于允许您从源代码构建和编译软件】sudo yum -y groupinstall development安装EPEL:sudo yum -y install e...

2020-02-11 18:37:14 383

原创 Centos安装MySQL5.7

文章链接:https://www.cnblogs.com/shuo1208/p/11237713.html

2020-02-10 20:21:42 125

原创 Linux/Mac下查看端口占用并杀死进程

1. 查看端口占用情况比如,查看8888端口:(:8888前面要加空格)sudo lsof -i :8888我运行了jupyter notebook,所以显示如下:其中,PID就是进程号。2. 杀死进程杀死占用8888端口的进程,根据您上面给的PID 1210(chrome打开了jupyter notebook),PID 20728 (jupyter-server)。sudo k...

2020-01-28 02:07:12 824

原创 Mac下安装Jupyter notebook简明教程

总共分为三个步骤:文章目录1.使用pip命令进行安装2.运行3.关闭1.使用pip命令进行安装如果你电脑默认为python2(Mac默认)pip3 install jupyter当然你可以先给你的pip更新一下,可以忽略此步骤pip3 install --upgrade pip2.运行python3 -m IPython notebook3.关闭键盘Ctrl + C...

2019-11-20 20:21:10 2525 3

原创 python虚拟环境常见问题的解决(virtualenv与virtualenvwrapper)

文章目录1 基础概念1.1 什么是虚拟环境1.2 virtualenv 与 virtualwrapper的作用1.2.1 virtualenv1.2.2 virtualenvwrapper1.3 我是否两者都需要2 如何使用2.1 virtualenv的使用2.1.1 十分推荐官方文档2.1.2 安装2.1.3 创建虚拟环境2.1.4 继承之前的基础环境的模块2.1.5 使用虚拟环境2.1.5.1...

2019-11-05 11:14:22 2802

原创 2019保研南京大学软件学院后的一些感想

2019计算机类保研1.个人情况1.1 保研结果1.2 双非院校1.3 学习成绩1.4能力获奖2. 求学之路2.1 夏令营2.2 北京邮电2.3 东南软件2.4 南大软件2.4 浙大软件3. 个人选择4. 后话1.个人情况1.1 保研结果28号从凌晨,经过了漫长煎熬的等待,拿到了南京大学软件学院的offer。7月份拿到了北京邮电大学的offer,做室内定位,老师让抓紧过去实习,并不要再尝...

2019-10-01 01:16:41 9091 12

原创 计算机编码的发展

第一阶段:ASCII由于计算机是美国人发明的,因此,最早只有127个字符被编码到计算机里,也就是大小写英文字母、数字和一些符号,这个编码表被称为ASCII编码第二阶段:风涌云起的各国编码但是要处理中文显然一个字节是不够的,至少需要两个字节,而且还不能和ASCII编码冲突,所以,中国制定了GB2312编码,用来把中文编进去。全世界有上百种语言,日本把日文编到Shift_JIS里,韩国把韩文编到...

2019-03-10 13:21:26 1069

原创 01背包问题,完全背包问题的二维数组,一维数组的解答

关于01背包问题,完全背包问题,这里就不过多阐述。这里只是总结一下这两个问题的二维数组,一维数组的两种表达方式。为什么要用一位数组,两个原因:1.节约空间(二维变一维)2.时间复杂度降为线性。直接上代码,如果对01背包问题,完全背包问题有问题的推荐看一下《背包九讲》和其他博客。背包九讲:https://github.com/tianyicui/pack01背包问题可视化的网站:http:...

2019-02-16 14:30:59 3119 2

原创 牛客网浙江大学牛客网机试--二叉搜索树

题目: 牛客网链接概述: 给定两个序列,比较形成的二叉搜索树是否长得一样思路: 只要给出的数一样,他们的中序遍历肯定是一样的。那么我们可以用前序遍历判断。而且前序(已确定)+ 中序就可以确定一个二叉树。另外,要关注一下里面getchar的用法:在输入完整数后,会形成一个回车,在输入字符串的前面要用getchar()接住。gets()可用来输入数组。尽管给出的是整数,但是用char类型保存...

2019-02-14 23:56:56 271

原创 使用清华镜像pip安装TensorFlow

CPU版本:pip install tensorflow -i https://pypi.tuna.tsinghua.edu.cn/simpleGPU版本:pip install tensorflow-gpu -i https://pypi.tuna.tsinghua.edu.cn/simple当然你可以选择版本,上面是最新版本pip install tensorflow-gpu==...

2019-02-08 02:01:36 24544 3

原创 Ubuntu最简单方法更换Python3.x版本

快速安装python3,安装最新pip的简单方法:Ubuntu16.04自带python2.7,在我们实际使用中,会需要用到python3.x。今天就在这里写一个详细简单的更换python3.5的方法。建议切换3.5,因为这能从阿里源直接下,比那些ppa要快很多。1.更换阿里源(又快又稳)首先输入 vim /etc/apt/sources.list在编辑器中删掉之前所有内容,把下...

2019-02-08 01:23:54 1922

原创 牛客网浙江大学机试--寻找大富翁

题目: 牛客网链接思路: 给出一个数组,排序(所谓的财富榜)概述: 简单的sort函数的应用#include &lt;iostream&gt;#include &lt;algorithm&gt;using namespace std;bool cmp(int a, int b){ return a &gt; b;}int main(){ int fortune[...

2019-02-04 15:23:16 295

原创 关于近期很火的视频解析APP

起源最近,QQ空间和朋友圈火起来一种广告,做任务(一般是转发什么,或者关注某些微商),领取全网视频VIP一年。类似下面这样:不禁产生了好奇,微商们好像又发现了什么新大陆,原价288的全网会员,不要99,只要加好友。好奇微商的黑科技我得研究一下。然后我就扫了几个码,下载了几个这样的APP,名字都差不多,都叫xx影视,xx视界。打开后,UI普遍是城乡结合风格,罗列着一大排平时碰都不敢碰...

2019-02-04 02:30:56 5296

原创 读《参与感》--品牌篇

100个梦想赞助商 视频链接。这是小米在2014年拍摄的宣传短片,当看到100个名字写在男主的赛车上的时候,人民同时也联想起来,第一版MIUI正式版的开机画面上,放着MIUI的第一批用户的ID。这些用户们陪伴着小米一路走来。小米把这个品牌做成了人们心中的一个故事,即使有一天辉煌会落幕,但是这段岁月的拼搏与陪伴,是小米给所有用户最好的礼物。不是劈开脑海,而是潜入大脑经典定位理论是指开创并主...

2019-02-02 21:52:54 520

原创 五行Python代码实现春节微信祝福神器(基于itchat)

春节就要到了,是否还在为微信群发祝福,微信回复祝福而烦恼,今天我们通过几行代码,来实现一个简(shi)单(yong)的春节微信祝福神器。五行代码实现春节回复神器我们先来看一下效果图(gif),实际实用的过程中可以加一个time.sleep()让回复显得更自然,不是那么快。这段代码已经在代码中注释出来。1.首先我们安装itchat包,大家可以去github上查看itchat的更多用法,it...

2019-02-02 17:45:12 12338 9

原创 牛客网浙江大学机试--找出直系亲属

题目: 牛客网链接概述: 用三个字母表示出三个人的关系,并回答提出的问题。思路: 这题采用两种方法:采用数组解决问题数组用来存储子女的下标(反正是独生子女),找关系的时候就不断地搜索子女。这里分为两种情况,一种是第一个字母是第二个字母的长辈,另一个是第一个字母是第二个字母的晚辈。只要把参数顺序倒过来即可。采用树的方法来解决问题。这里就没写粘贴的牛客网的代码。思路很清晰,很适合复习...

2019-02-02 00:45:43 372

原创 牛客网浙江大学机试--Sharing

题目: 牛客网链接概述: 给出两个字符串,用链表来表示(不是严谨的链表,只是表示出每个节点的起始位置,和下一个节点位置)。让找两个字符串的公共节点。思路: 就是用一个足够大的数组表示可能出现的地址,读取下一个地址,并将对应数组的值+1,当为2的时候就是前缀对应的地址。当有出现两次的节点一定是公共节点。我们在采用scanf输入字符的时候要考虑后面的空格或者回车,而采用cin却不会出现这样情况...

2019-02-01 15:10:45 275

原创 浙江大学机试--Grading

题目: 牛客网链接概述: 本题给出类似我们高考的评判条件,三个评卷老师,一个专家,看最终评判出多少分思路: 简单的逻辑问题#include &lt;iostream&gt;#include &lt;cmath&gt;#include &lt;algorithm&gt;using namespace std;int main(){ int p, t, g1, g2, g3, g...

2019-01-31 19:40:33 514

原创 浙江大学机试--畅通工程

题目: 牛客网链接概述: 给出m条道路,n个村庄,看这些道路能不能让所有村庄联通起来,如果能,输出联通的最小代价,如果不能,输出问号。思路: 最小生成树 Kruskal算法(并查集)。如果每个是相联通的,那么他们应该有一个共同的最终根节点。我们可以找出来一个与其他比较。用来判断是否这是个连通图#include &lt;iostream&gt;#include &lt;algorithm&...

2019-01-31 18:32:04 330

company.zip

南大软院举办的比赛题目,真题跟这个类似。都是使用junit进行测试。

2020-05-15

Mendeley-Desktop-1.19.4-OSX-Universal.dmg

Mendeley是目前mac上免费软件中,最好用的文档管理软件。能够实现高质量的文档管理,实现相似文章推荐。官网比较慢,有时候甚至进不去,放在这里给大家下载。免费软件。

2019-11-05

蓝桥杯2013-2017年官方教程视频(附题目和代码)

代码在文件夹里,非utf-8,可以用vscode,notepad++之类的打开调整一下编码方式。

2019-03-19

蓝桥杯数据集(VIP)+ 算法笔记高清PDF

蓝桥杯数据集(VIP)+ 算法笔记高清PDF,打包一起下,备战算法。

2019-03-05

xsehll绿化

xshell绿化,以前下载的,下载拿出来和大家一起分享一下

2018-10-01

笔记本选择

笔记本的选择

2017-08-21

空空如也

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

TA关注的人

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