自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Mac SVN拉取代码文件

如果homebrew没有更换过源,可以参考 https://blog.csdn.net/weixin_43664907/article/details/103369045拉取操作:让公司给你开一个SVN账户要到SVN项目地址,格式类似于svn://172.22.0.70/**直接在你想要拉取代码的目录输入:svn checkout svn项目地址 --username=XXX --password=XXX...

2021-01-06 16:19:10 1241

原创 Mac系统显示隐藏文件

Command+Shift+. 可以显示隐藏文件、文件夹,再按一次,恢复隐藏;finder下使用Command+Shift+G 可以前往任何文件夹,包括隐藏文件夹。

2021-01-04 16:22:10 172

原创 IDEA热部署devtools

IDEA热部署1. 添加devtools jar包<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope> <option>true</option></depende

2020-12-20 13:49:53 194

原创 Leetcode 543. 二叉树的直径

Leetcode 543. 二叉树的直径https://leetcode-cn.com/problems/diameter-of-binary-tree给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过也可能不穿过根结点。示例 :给定二叉树 1 / \ 2 3 / \ 4 5 返回 3, 它的长度是路径 [4,2,1,3] 或者 [5,2,1,3]。注意:两结点之间的路径

2020-12-20 10:02:36 134 1

转载 Java Lambda表达式

Java Lambda表达式的一个重要用法是简化某些匿名内部类(Anonymous Classes)的写法。实际上Lambda表达式并不仅仅是匿名内部类的语法糖,JVM内部是通过invokedynamic指令来实现Lambda表达式的。具体原理放到下一篇。本篇我们首先感受一下使用Lambda表达式带来的便利之处。Lambda and Anonymous Classes(I)本节将介绍如何使用Lambda表达式简化匿名内部类的书写,但Lambda表达式并不能取代所有的匿名内部类,只能用来取代**函数接口(

2020-12-17 14:33:26 347

原创 git拉取代码导入为maven项目

git拉取代码导入为maven项目在终端使用git clone拉取maven项目后,用IDEA打开项目,但文件显示的全是黄色图标的.java文件,并不能像新建Java文件一样显示蓝色的class文件,且不能直接运行。此时可以采用下面的方法,将项目加载为maven project在项目的pom文件处,右键点击Add as Maven Project然后耐心等待即可等所有依赖导入完成之后,便可以看到项目变成了maven结构简简单单...

2020-11-26 13:37:49 2566

原创 二维数组排序方法

Arrays.sort(T[], new Comparator<T>() { public int compare(T a, T b){ return fa - fb; }});①对序列进行排序,序列中单位元素的类型T,决定了重写Comparator类中的参数类型②fa/fb表示自定义的排序方式,返回正数表示参数a大于参数b③默认为从小到大排序,用参数a减参数b。若需要从大到小排序,则用参数b减参数a例:对int二维数组进行排序Arrays.sort(points, new

2020-11-23 15:29:31 2650

原创 背包--01背包,完全背包,多重背包

哈哈01背包f[i][v] = max{ f[i - 1][v],f[i - 1][v - c[i]] + w[i] }完全背包f[i][v] = max{ f[i - 1][v - kc[i]] + kw[i] | 0 &lt;= kc[i] &lt;= v }多重背包f[i][v] = max{ f[i - 1][v - kc[i]] + k*w[i] | 0 &lt;= k &l...

2020-11-18 14:07:14 81

原创 Huffman

链表实现#include &amp;amp;lt;bits/stdc++.h&amp;amp;gt;#define maxn 1005using namespace std;struct node* create(char *ch, int *w, int n);void print(struct node* root, string res);struct node { char data; int weig...

2020-11-18 14:04:09 93

原创 vue初学者开发中的小问题

1、 html文件与js文件分开写的时候,js要放在body的后面,原因是:当js放在前面的时候,html还没渲染出来,vue无法挂载到对应的元素上

2020-11-18 14:03:01 85

原创 VSCode搭建Vue项目过程

1、 首先安装nodejs2、 安装vue-clivue-cli可以帮助我们快速构建vue项目npm install -g vue-cli运行结果3、 安装webpackwebpack是js的打包工具npm install -g webpack 4、 创建vue项目在vscode中,切换到保存项目的文件夹下,输入创建项目命令:vue init webpack firstvuefirstvue为项目名称,可自行变更命名接下来会出现一些配置项,可以根据需要配置,也可以选择默认配

2020-11-18 13:19:42 612

原创 IDEA maven项目的java类文件左下角出现红色的J标识,解决方法

在项目的pom文件上,右键,选择maven->Reload project

2020-11-04 12:47:47 1997 1

转载 使用git克隆指定分支的代码

使用git克隆指定分支的代码   今天想学习一下开源中国Android客户端的app源码,源码的Git地址:http://git.oschina.net/oschina/android-app,如下图所示:    由于Master主分支上没有放置源码,因此需要切换到指定的Tag分支去查看,如下图所示:    切换到v2.8.1这个分支就可以看到具体的代码了,如下图所示:    使用Git下载指定分支命令为:git clone -b 分支名仓

2020-11-03 16:46:35 1841

原创 集群初始配置--master slave SSH免密登陆

一步步教你Hadoop多节点集群安装配置. https://www.cnblogs.com/lanxuezaipiao/p/3525554.html1 设置Master,Slave节点将hostname修改为master/slave01/slave02vi /etc/hostname分别进行修改;再将hosts文件也一并做修改(分别修改)vi /etc/hostsMaster节点127.0.0.1 masterslave节点则将在hosts文件中添加127.0.0.1 sl.

2020-10-31 19:52:21 1964

原创 redis安装与配置

redis安装与配置首先安装gcc/g++yum install gcc-c++安装tclyum install tcl下载、上传、解压缩下载redishttps://redis.io/download本次选择的是5.0.10上传至服务器,解压缩scp redis-5.0.10.tar root@118.190.200.87:/opt/softwarecd /optmkdir rediscd softwaretar xvf redis-5.0.10.tar -C /opt/

2020-10-31 19:49:46 89

原创 zookeeper安装配置

zookeeper安装配置完全分布式,三台阿里云服务器搭建的集群下载、上传、解压缩首先下载zookeeper:下载链接:https://archive.apache.org/dist/zookeeper/本次选用的版本是3.4.12tar xvf zookeeper-3.4.12.tar -C /opt/zookeeper环境配置(all three)三个节点上都需要进行配置vim /etc/profile# Zookeeper configexport ZOOKEEPER_HOM

2020-10-31 19:48:22 271

原创 Hadoop安装与配置

Hadoop安装与配置0. 设置Master,Slave节点参考一步步教你Hadoop多节点集群安装配置. https://www.cnblogs.com/lanxuezaipiao/p/3525554.html0.1将hostname修改为master/slave01/slave02vi /etc/hostname分别进行修改;再将hosts文件也一并做修改(分别修改)vi /etc/hostsmaster节点127.0.0.1 masterslave节点则将在host

2020-10-30 19:54:46 201

原创 删除原有MySQL并重装MySQL

数据库配置记录1. 查看是否有rpm安装的MySQL数据库查看原来安装的数据库:rpm qa | grep -i mysql显示:无启动数据库mysql -uroot -pTw#123456 启动数据库,失败,显示Can’t connect to local MySQL server through socket '/var/lib/mysql/mysql.sock而/var/lib/mysql下为空2. 查找所有MySQL的文件[root@elk-server /]# find / -n

2020-10-25 11:04:22 457

原创 装饰者模式疑难点理解

具体模式实现参考head first只是说明几点,助于理解首先,具体实现类与装饰器接口继承自同一个component,达到类型匹配的目的。这样做(继承)的目的:这样对于client来说,装饰模式以对客户透明的方式动态地给对象增加更多的责任。也就是说,客户端并不知道对象在装饰前和装饰后又什么区别。如果component是一个抽象的接口,对于具体实现类与decorator,他们实现相同的接口函数的时候,以组合进去的对象调用(a.method())的方式,区别不同具体实现类的方法。其次,decorator

2020-10-13 10:43:29 89

原创 HashMap? ConcurrentHashMap? 相信看完这篇没人能难住你!

参考https://crossoverjie.top/2018/07/23/java-senior/ConcurrentHashMap/

2020-09-28 16:08:59 87

转载 Java ==与equals的区别

" == " 是用来判断两个对象的地址是否相等,即判断两个对象是否为同一个对象。基本数据类型" == "比较的值,引用数据类型比较的是内存地址因为Java只有值传递,所以对于==来说,不管是比较基本数据类型,还是引用数据类型的变量,其本质比较的都是值,只是引用类型变量存的值是对象的地址equals(): 它的作用也是判断两个对象是否相等,它不能用于比较基本数据类型的变量。equals()方法存在于Object类中,而Object类是所有类的直接或者间接父类。Object类equals()方法:pu

2020-09-11 15:25:51 92

原创 线段树(Segment Tree)

线段树(Segment Tree)0.给定一数组(1)计算区间和 – query,(2)修改数组中的某一个值 – update方法一:遍历时间复杂度如果query与update的次数都很多的话,O(n)的时间复杂度会导致非常非常慢方法二:前缀和给定原数组arr,用sum_arr存储arr数组前面k个元素的和query计算区间和,只需要sum_arr[j] - sum_arr[i]即可得出,时间复杂度为O(1)但此时update的时间复杂度会变成O(n)对比:所以,当query

2020-09-10 17:28:57 125

原创 LeetCode13 罗马数字转整数

题目很简单,不解释,直接上代码class Solution { public int romanToInt(String s){ Map<Character, Integer> map = new HashMap<>(); map.put('I', 1); map.put('V', 5); map.put('X', 10); map.put('L', 50); map.put('C', 100); map.put('D', 500);

2020-09-09 10:45:16 64

原创 LeetCode46全排列

C++中的全排列可以直接调用next_permutation()函数,Java没有此函数,手写一个作为模板给定一个没有重复数字的序列,返回其所有可能的全排列。示例:输入: [1,2,3]输出:[ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1]]代码:class Solution { public List<List<Integer>> permute(int[] nums) {

2020-09-09 10:39:42 82

原创 Java值传递

以下内容摘自JavaGuide为什么 Java 中只有值传递?首先回顾一下在程序设计语言中有关将参数传递给方法(或函数)的一些专业术语。按值调用(call by value)表示方法接收的是调用者提供的值,而按引用调用(call by reference)表示方法接收的是调用者提供的变量地址。一个方法可以修改传递引用所对应的变量值,而不能修改传递值调用所对应的变量值。 它用来描述各种程序设计语言(不只是 Java)中方法参数传递方式。Java 程序设计语言总是采用按值调用。也就是说,方法得到的是所有参

2020-09-08 16:40:03 146

原创 LeetCode 23. 合并K个升序链表

LeetCode 23. 合并K个升序链表作为第一道AC的困难难度的题目,记录一下题目:给你一个链表数组,每个链表都已经按升序排列。 请你将所有链表合并到一个升序链表中,返回合并后的链表。示例 1: 输入:lists = [[1,4,5],[1,3,4],[2,6]] 输出:[1,1,2,3,4,4,5,6]解释:链表数组如下: [ 1->4->5, 1->3->4, 2->6 ] 将它们合并到一个有序链表中得到。1->1->2-&gt

2020-09-07 10:34:22 111

原创 LeetCode 258. 各位相加

Digital rootWikipedia的解释直接上公式:class Solution { public int addDigits(int num) { if(num == 0) return 0; return 1 + ((num-1)%9); }}

2020-09-05 15:34:14 102

原创 Docker RabbitMQ

使用docker启动RabbitMQdocker run -d --name rabbit -p 5672:5672 -p 5673:5673 -p 15672:15672 rabbitmq:management

2020-07-15 15:01:56 103

转载 Mysql: 图解 inner join、left join、right join、full outer join、union、union all的区别

Mysql: 图解 inner join、left join、right join、full outer join、union、union all的区别对于SQL的Join,在学习起来可能是比较乱的。我们知道,SQL的Join语法有很多inner的,有outer的,有left的,有时候,对于Select出来的结果集是什么样子有点不是很清楚。Coding Horror上有一篇文章,通过韦恩图(Ve...

2020-04-06 22:10:24 296

转载 TextCNN文本分类详解--使用TensorFlow一步步带你实现简单TextCNN

TextCNN文本分类详解–使用TensorFlow一步步带你实现简单TextCNN前言近期在项目组工作中,使用TextCNN对文本分类取得了不错的准确率,为了更清晰地了解TextCNN的结构,特翻译TensorFlow实现的TextCNN一文。一、什么是TextCNNTextCNN 是利用卷积神经网络对文本进行分类的算法,由 Yoon Kim 在 《Convolutional Neura...

2020-04-01 20:47:32 2561

原创 数据库PPT知识扩充

南大MSE复试数据库刘嘉PPT知识扩充MySQL体系结构Connectors:其他语言与SQL交互Management Serveices & Utilities:系统管理和控制工具备份和恢复的安全性,复制,集群,管理,配置,迁移和元数据。Connection Pool:连接池进行身份验证、线程重用,连接限制,检查内存,数据缓存;管理用户的连接,线程处理等需要缓...

2020-03-10 21:33:05 388

转载 什么是P问题、NP问题和NPC问题

你会经常看到网上出现“这怎么做,这不是NP问题吗”、“这个只有搜了,这已经被证明是NP问题了”之类的话。你要知道,大多数人此时所说的NP问题其实都是指的NPC问题。他们没有搞清楚NP问题和NPC问题的概念。NP问题并不是那种“只有搜才行”的问题,NPC问题才是。好,行了,基本上这个误解已经被澄清了。下面的内容都是在讲什么是P问题,什么是NP问题,什么是NPC问题,你如果不是很感兴趣就可以不看了。接...

2019-01-15 10:46:21 223

原创 八皇后 递归+循环

八皇后递归实现迭代实现(循环)输出所有结果

2019-01-14 11:16:30 248

原创 钢条切割问题 DP

钢条切割问题给定一段长度为n的钢条和一个价格表pi(i=1,2,…,n),求切割钢条方案,是的销售收益rn最大。方法一:长度为n的钢条共有2n-1种不同的切割方案,因为在距离钢条左端i(i=1, 2, …, n-1)处,我们总是可以选择切割或者不切割。一般的,钢条切割收益可以如下表示:rn = max(pn, r1 + rn-1, r2 + rn-2, …, rn-1 + r1)第一个...

2019-01-13 10:46:27 1027

原创 动态规划理解(算法导论)

动态规划动态规划(DP)算法通常用来求解最优化问题DP与分治相似,都是通过组合子问题的解来求解原问题。但DP应用于子问题重叠的情况,即不同的子问题拥有共同的子子问题。在这种情况下,分治算法会做很多不必要的工作,它会反复求解那些公共子子问题。而DP对每个子子问题之求解一次,将其解保存在一个表格中,从而无需每次求解一个子子问题是都重新计算,避免了这种不必要的计算。动态规划算法的步骤:刻画一个...

2019-01-12 20:20:47 372

原创 逆序对--模拟归并排序

逆序对逆序数的定义:如果 i &amp;amp;lt; j 且A[i] &amp;amp;gt; A[j].则A[i]和A[j]即为逆序数对给一列数&amp;amp;lt;a[1],a[2],…,a[n]&amp;amp;gt;,求它的逆序对数,即有多少个有序对(i.j),使得i&amp;amp;lt;j且a[i]&amp;amp;lt;a[j]在归并排序的基础上记上了一个逆序对个数的统计ans += (mid - i + 1)void Merge(

2019-01-12 14:55:55 153

原创 选择问题--模拟快排

选择问题给定n个元素和一个整数k(1 &amp;amp;lt;= k &amp;amp;lt;= n),找出这n个元素中的第k小的元素可以对元素进行一次排序,然后遍历一遍便可以找到第k小的元素。时间复杂度为O(nlgn)。此处模拟快排,借助快排的思想,对数组递归的进行划分,与快排不同的是:只对划分出的子数组之一进行递归处理将数组A[p,r]划分成A[p,q]和A[q+1,r],是的A[p,q]中的每个元素都不大于A[...

2019-01-12 14:29:08 308

原创 归并排序

归并排序分治(递归)非递归分治分解:将待排序的数组分解为两个规模大小大致相同的两个子数组解决:分别对两个子数组进行排序合并:将排好序的两个子数组进行合并首先选取数组的中间位置,将数组划分成左右两部分,递归的对左右两个数组进行排序,最后将排好序的两个数组合并即可。左子数组的从l到mid,有子数组从mid+1到r(两个的范围不要重叠)当子数组规模为1时,则表示子数组已经排好序,则...

2019-01-12 11:38:56 252

原创 快排

快排分治:分解:将数组A[p,r]划分成两个(可能为空)的子数组A[p,q-1]和A[q+1,r],使得A[p,q-1]中的每一个元素都小于等于A[q],A[q]也小于等于A[p+1,r]中的每个元素解决:递归调用快排,对两个子数组进行排序合并:因为是基于地址的排序,所以不需要进行合并操作,原数组已经有序在partition中进行一次划分,实现对子数组A[p,r]的重排选取基准元...

2019-01-12 10:59:54 308

原创 最大子数组问题

最大子数组问题(Maximum Subarray)最大子数组:和最大的连续非空子数组暴力遍历,i从0到n-1,每次计算从i往后的部分的最大子数组,然后求解整个数组的最大子数组int solve(int *arr, int len){ int maxsum = 0; for (int i = 0; i&amp;amp;lt;len; i++){ int cursum = 0; //向后累加 ...

2019-01-11 19:53:25 343

空空如也

空空如也

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

TA关注的人

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