- 博客(121)
- 收藏
- 关注
原创 【SpringBoot】不依赖于 SpringBoot 启动的单元测试获取 Config 并进行配置 Bean 注入的一种实现
不依赖于 Spring 启动上下文获取 Spring 配置的实现方法,适用于纯 Mock 环境的单元测试。支持单个 Property 获取和带 @ConfigurationProperties 的 Bean 注入
2022-07-02 18:24:45
1752
原创 【VMware】设置虚拟机与主机共享文件夹
前言通过设置虚拟机挂载 Windows 文件夹,能很方便的完成两边资源的共享如何设置方法一:通过 VMware 快速设置打开 虚拟机->设置选择 选项->共享文件夹->总是启用->添加选择需要共享的文件夹即可。然后我们在虚拟机 Ubuntu 上查看,可以发现下面 git 文件夹已经挂载上了,enjoy$ ls -la /mnt/hgfstotal 9dr-xr-xr-x 1 root root 4192 Mar 15 02:41 .drwxr-xr-x 3 ro
2022-03-15 17:45:22
2908
原创 【Remote Development】VSCode 基于 SSH 进行远程开发
系统需求我们在 VSCode 下载由微软官方推出的 Remote SSH 插件查看一下里面的描述,对于远程机器的要求如下:Local: A supported OpenSSH compatible SSH client must also be installed(本地机器需要一个 SSH 客户端)Remote SSH host: A running SSH server on(远程机器还需要一个一直运行的 SSH Server)远程机器的支持情况详情和其它信息请参考 :System req
2022-03-15 13:10:11
2693
原创 【Ubuntu】更换数据源
前言我们常说的给 Ubuntu 换源,实际上是指的给 Debian/Ubuntu 系的 Linux 操作系统中的软件包管理器(Advanced Packaging Tool,APT)更换仓库地址OSFormatToolsUpdate packagesDebian.debapt, apt-cache, apt-get, dpkgsudo apt-get updateUbuntu.debapt, apt-cache, apt-get, dpkgsudo apt-ge
2022-03-14 18:18:13
2676
原创 【Kubernetes】Helm 安装
【Kubernetes】Helm 安装1 安装官方文档: https://helm.sh/docs/intro/install/建议参照官方文档安装,本文给出 linux 上的安装方式,其他平台请参见官方文档1.1 通过 release 安装1.从 github 上下载所需的版本 https://github.com/helm/helm/releases2.解压 tar -zxvf helm-v3.0.0-linux-amd64.tar.gz3.移动到指定位置 mv linux-amd64/h
2020-10-12 23:13:54
392
1
原创 【Algorithm】rand5生成rand7
前言这是面试的时候遇到的一个问题,问题的关键就是如何利用 rand5rand5rand5 生成均匀分布的 rand7rand7rand7,另外补充到,randrandrand 只能产生整数。思考首先我们来看看另外一个问题,如何利用 rand[0,1]rand[0,1]rand[0,1] 生成 rand[0,2k)rand[0,2^k)rand[0,2k)?这个可以通过组成2进制数的方式完成这...
2020-04-02 12:49:08
356
原创 【C++】智能指针
基本概念智能指针(smart pointer)事实上是一个装指针的容器,在析构时会 delete 对象,一定程度上的解决了垃圾回收的问题头文件:<memory>测试环境:操作系统:Windows 10编译器:g++.exe (x86_64-posix-sjlj-rev0, Built by MinGW-W64 project) 8.1.0shared_ptr和名称一样...
2020-03-21 01:20:23
357
原创 【C++】含有可变形参的函数
背景与意义有的时候我们无法提前预知应该向函数传递几个实参,为了编写能处理不同数量实参的函数,C++11 新标准提供了两种主要方法:initializer_list 类型... 省略符initializer_list 形参Reference: initializer_list,提供的操作:initializer_list<T> lst; 默认初始化:T类型元素的空列表...
2020-03-19 23:15:03
349
原创 【C++】类大小的计算
1 初识测试环境:操作系统:Windows 10编译器:g++.exe (x86_64-posix-sjlj-rev0, Built by MinGW-W64 project) 8.1.0本机环境测试时,指针大小为 8 字节,请读者根据实际情况自行判断。1.1 内存对齐可以使用 sizeof 或者 alignof 判断基本类型的对齐大小。但面对自定义类型的时候,前者就不行了,而后者...
2020-03-18 11:33:25
462
原创 【C++】virtual 与多态
1 前言The virtual keyword declares a virtual function or a virtual base class. —— virtual (C++) -Microsoft Docs从微软的这篇文档来看,virtual 用于修饰方法基类多态(Polymorphism):当用于面向对象编程的范畴时,多态性的含义是指程序能通过引用或指针的动态类型获...
2020-03-09 19:48:29
599
原创 【C++】const 限定符
1 前言本文对 const 各种摆放位置效果以及相关内容做一个系统性的总结2 const 的使用方法const 即 constant 的缩写,固定不变的意思,它是一个限定符2.1 const 修饰普通变量此即声明定义了一个常量const int var1 = 0; //正确,推荐 int const var2 = 0; //正确,效果一样但不推荐const int ...
2020-03-02 01:05:27
211
原创 【Algorithm】最短路径算法
1 前言从某顶点出发,沿图的边到达另一顶点所经过的路径中,各边上权值之和最小的一条路径叫做最短路径。解决最短路的问题有以下算法Dijkstra 算法Bellman-Ford 算法SPFA 算法(Bellman-Ford 算法的优化算法)Floyd 算法等给出一些名词解释:单源最短路径:从图中某个顶点到图其他各顶点的最短路径Relax 松弛:这是最短路径算法里面最关键的一步(我...
2020-02-18 00:28:35
531
原创 【Algorithm】并查集的实现与优化
1 前言并查集是一种树型的数据结构,用于处理一些不相交集合(Disjoint Sets)的合并及查询问题。常常在使用中以森林来表示。常见一些问题:求连通分支数,最小生成树 Kruskal 算法等,基本上都要使用到并查集2 并查集的简单实现并查集采用森林的结构,而表示一个森林,维护一个父节点序列即可,我们可以用一个 key-value 的数据结构来表示每一个节点以及父节点,下面给出一种无任...
2020-02-16 16:36:55
236
原创 【C++】输入的几种方式
1 前言输入输出挺重要,同时可以选择的方式也很多,而本文主要指出在输入输出的时候你可能遇到的一些问题,提供一些解决的方法,并补充你可能不知道的点。另外这里的输入输出主要为从键盘输入,向屏幕输出强烈建议大家先看一下这篇文章,关于几种输入方式的区别,看完之后可能就不用看这里了(笑)2 实例一般来说,关于输入的问题比较集中在输入遇到“空格”、“换行”,“如何结束”等2.1 cin 方式头文件...
2020-02-08 16:11:30
7832
原创 【Algorithm】经典排序算法
1 前言本文对于排序算法的原理不会做过多的介绍,仅用于总结同时方便记忆每种算法的原理解释一些术语稳定:a 与 b 相等,排序前:a 在 b 前;排序后:a 与 b 的顺序不变不稳定:a 与 b 相等,排序前:a 在 b 前;排序后:a 与 b 的顺序可能会发生改变内部排序:所有排序操作都在内存中完成外部排序:由于数据太大,因此把数据放在磁盘中,而排序通过磁盘和内存的数据传输才能进行...
2020-02-08 15:59:13
301
原创 【C++】sort 的使用
【C++】sort 的使用1 前言可能涉及的 C++ 知识点有:类的构造函数,运算符的重载等2 Reference参考 std::sort ,包含在头文件 <algorithm> 中//default (1) template <class RandomAccessIterator>void sort (RandomAccessIterator first, ...
2020-02-06 19:11:53
297
原创 【Algorithm】顺序表循环左移
QUESTION长度为 n 的数组,将其中的所有元素循环左移 p 个位置SOLUTION使用空间复杂度为 O(n) 的方法很简单,这里不在叙述,下面介绍一种原地算法方法一时间复杂度 O(n),空间复杂的 O(1)// 伪代码Array.Reverse(0, p-1)Array.Reverse(p, n-1)Array.Reverse(0, n-1)C++ 实现// 反转指定...
2019-10-28 22:44:55
940
原创 【Linear Algebra】特征值、特征向量、相似矩阵
文章目录5. 特征值、特征向量、特征矩阵5.1 特征值、特征向量5.1.1 特征值、特征向量的定义与概念5.1.2 特征方程、特征多项式、特征矩阵的定义与概念5.1.3 特征值的性质5.1.4 特征值、特征向量的求法5.2 相似矩阵、矩阵的相似对角化5.2.1 相似矩阵5.2.2 矩阵可相似对角化的充分必要条件5.2.3 相似矩阵的性质5.2.4 矩阵相似的必要条件5.3 实对称矩阵的相似对角化5...
2019-08-12 09:44:18
774
原创 【Linear Algebra】线性方程组
文章目录4. 线性方程组4.1 克拉默法则4.2 齐次线性方程组4.2.1 齐次线性方程组的表达形式4.2.2 齐次线性方程组的解4.2.3 齐次线性方程组的基础解系4.2.4 齐次线性方程组解的性质4.2.5 齐次线性方程组的通解4.2.6 齐次线性方程组有解的条件4.2.7 基础解系向量个数与秩的关系4.2.8 基础解系和通解的求法(*)4.3 非齐次线性方程组4.3.1 非齐次线性方程组的表...
2019-08-09 12:01:21
575
原创 【Linear Algebra】向量
文章目录3. 向量3.1 n 维向量的概念与计算3.1.1 概念3.1.2 计算3.2 线性表出、线性相关3.2.1 线性表出概念3.2.2 线性相关、线性无关概念3.2.3 重要定理3.3 极大线性无关组、秩3.3.1 极大线性无关组、向量组秩的概念3.3.2 有关秩的定理3.4 Schmidt 正交化、正交矩阵3.4.1 Schmidt 正交化(正交化规范方法)3.4.2 正交矩阵3.5 向量...
2019-08-06 16:00:40
407
原创 【Linear Algebra】矩阵
【Linear Algebra】矩阵2. 矩阵本文重点在知识归纳,不帮助理解2.1 矩阵的概念一个 m×nm \times nm×n 个数排成如下 mmm 行 nnn 列的一个表格,称为 m×nm \times nm×n 矩阵[a11a12...a1na21a22...a2n.........am1am2...amn] \begin{bmatrix} a_{11}...
2019-08-05 10:06:57
579
原创 【Linear Algebra】行列式(知识归纳)
1. 行列式本文重点在知识归纳,不帮助理解1.1 行列式概念n 阶行列式(determinant)∣a11a12...a1na21a22...a2n.........an1an2...ann∣ \begin{vmatrix} a_{11} & a_{12} & ... & a_{1n} \\ a_{21...
2019-08-01 11:59:59
652
原创 【C#】创建、解析 xml 文件(XmlDocument 方式)
前言本文使用 System.Xml 中的 XmlDocument 解析 xml 格式的文件。另外,由于我是粗略的看了下官方文档和一些博客,可能会有许多错误的地方,望指出。官方文档:https://docs.microsoft.com/zh-cn/dotnet/api/system.xml.xmldocument?view=netframework-4.8文章时间:写于 2019-7-17...
2019-07-17 17:48:35
9106
原创 【MD5】校验下载文件完整性
需要一般文件过大,随文件会赋给你一个 MD5 值用于检验下载的文件是否完整需要校验的文件文件附带的 MD5 值Windows 10windows + R 运行 cmd执行如下命令,其中 path/file 是你文件的路径certutil -hashfile path/file 校验类型执行完后会得到一串 md5 值将他与随文件一起的 md5 作比较即可...
2019-06-15 01:14:50
6035
2
原创 【Leetcode】680. 验证回文字符串 Ⅱ
QUESTIONeasy题目描述给定一个非空字符串 s,最多删除一个字符。判断是否能成为回文字符串。示例 1:输入: "aba"输出: True示例 2:输入: "abca"输出: True解释: 你可以删除c字符。说明字符串只包含从 a-z 的小写字母。字符串的最大长度是 50000。SOLUTION从左右开始往中间判断,遇到不相等的则需要分成两个字串来进行判断...
2019-06-06 16:51:41
135
原创 【Leetcode】746. 使用最小花费爬楼梯
QUESTIONeasy题目描述数组的每个索引做为一个阶梯,第 i个阶梯对应着一个非负数的体力花费值 cost[i] (索引从0开始)。每当你爬上一个阶梯你都要花费对应的体力花费值,然后你可以选择继续爬一个阶梯或者爬两个阶梯。您需要找到达到楼层顶部的最低花费。在开始时,你可以选择从索引为 0 或 1 的元素作为初始阶梯。示例 1:输入: cost = [10, 15, 20]输出:...
2019-06-06 16:20:30
148
原创 【Leetcode】661. 图片平滑器
QUESTIONeasy题目描述包含整数的二维矩阵 M 表示一个图片的灰度。你需要设计一个平滑器来让每一个单元的灰度成为平均灰度 (向下舍入) ,平均灰度的计算是周围的 8 个单元和它本身的值求平均,如果周围的单元格不足八个,则尽可能多的利用它们。示例 1:输入:[[1,1,1], [1,0,1], [1,1,1]]输出:[[0, 0, 0], [0, 0, 0], [0,...
2019-06-06 16:18:25
266
原创 【Leetcode】557. 反转字符串中的单词 III
QUESTIONeasy题目描述给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。示例 1:输入: "Let's take LeetCode contest"输出: "s'teL ekat edoCteeL tsetnoc"说明在字符串中,每个单词由单个空格分隔,并且字符串中不会有任何额外的空格。SOLUTION由于题目中指出了,不会有多...
2019-06-06 12:03:18
175
原创 【Leetcode】598. 范围求和 II
QUESTIONeasy题目描述说明给定一个初始元素全部为 0,大小为 m*n 的矩阵 M 以及在 M 上的一系列更新操作。操作用二维数组表示,其中的每个操作用一个含有两个正整数 a 和 b 的数组表示,含义是将所有符合 0 <= i < a 以及 0 <= j < b 的元素 M[i][j] 的值都增加 1。在执行给定的一系列操作后,你需要返回矩阵中含有最大整...
2019-06-06 11:42:31
209
原创 【Leetcode】599. 两个列表的最小索引总和
QUESTIONeasy题目描述假设 Andy 和 Doris 想在晚餐时选择一家餐厅,并且他们都有一个表示最喜爱餐厅的列表,每个餐厅的名字用字符串表示。你需要帮助他们用最少的索引和找出他们共同喜爱的餐厅。如果答案不止一个,则输出所有答案并且不考虑顺序。你可以假设总是存在一个答案。示例 1:输入:["Shogun", "Tapioca Express", "Burger King",...
2019-06-05 22:16:43
165
原创 【Leetcode】606. 根据二叉树创建字符串
QUESTIONeasy题目描述你需要采用前序遍历的方式,将一个二叉树转换成一个由括号和整数组成的字符串。空节点则用一对空括号 "()" 表示。而且你需要省略所有不影响字符串与原始二叉树之间的一对一映射关系的空括号对。示例 1:输入: 二叉树: [1,2,3,4] 1 / \ 2 3 / 4输出: "1(2(4))(3)"解...
2019-06-05 20:47:45
167
原创 【Leetcode】674. 最长连续递增序列
QUESTIONeasy题目描述给定一个未经排序的整数数组,找到最长且连续的的递增序列。示例 1:输入: [1,3,5,4,7]输出: 3解释: 最长连续递增序列是 [1,3,5], 长度为3。尽管 [1,3,5,7] 也是升序的子序列, 但它不是连续的,因为5和7在原数组里被4隔开。 示例 2:输入: [2,2,2,2,2]输出: 1解释: 最长连续递增序列是 [2],...
2019-06-05 19:11:44
145
原创 【Leetcode】605. 种花问题
QUESTIONeasy题目描述假设你有一个很长的花坛,一部分地块种植了花,另一部分却没有。可是,花卉不能种植在相邻的地块上,它们会争夺水源,两者都会死去。给定一个花坛(表示为一个数组包含 0 和 1,其中 0 表示没种植花,1 表示种植了花),和一个数 n 。能否在不打破种植规则的情况下种入 n 朵花?能则返回 True,不能则返回 False。示例 1:输入: flowerbed ...
2019-06-05 18:45:24
175
原创 【Leetcode】766. 托普利茨矩阵
QUESTIONeasy题目描述如果一个矩阵的每一方向由左上到右下的对角线上具有相同元素,那么这个矩阵是托普利茨矩阵。给定一个 M x N 的矩阵,当且仅当它是托普利茨矩阵时返回 True。示例 1:输入: matrix = [ [1,2,3,4], [5,1,2,3], [9,5,1,2]]输出: True解释:在上述矩阵中, 其对角线为:"[9]", "[5...
2019-06-05 01:59:05
171
原创 【Leetcode】762. 二进制表示中质数个计算置位
QUESTIONeasy题目描述给定两个整数 L 和 R ,找到闭区间 [L, R] 范围内,计算置位位数为质数的整数个数。(注意,计算置位代表二进制表示中1的个数。例如 21 的二进制表示 10101 有 3 个计算置位。还有,1 不是质数。)示例 1:输入: L = 6, R = 10输出: 4解释:6 -> 110 (2 个计算置位,2 是质数)7 -> 11...
2019-06-05 00:04:04
205
原创 【Leetcode】783. 二叉搜索树结点最小距离
QUESTIONeasy题目描述给定一个二叉搜索树的根结点 root, 返回树中任意两节点的差的最小值。示例:输入: root = [4,2,6,1,3,null,null]输出: 1解释:注意,root是树结点对象(TreeNode object),而不是数组。给定的树 [4,2,6,1,3,null,null] 可表示为下图: 4 / ...
2019-06-04 21:59:59
824
原创 【Leetcode】771. 宝石与石头
QUESTIONeasy题目描述给定字符串 J 代表石头中宝石的类型,和字符串 S 代表你拥有的石头。 S 中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。J 中的字母不重复,J 和 S 中的所有字符都是字母。字母区分大小写,因此 "a" 和 "A" 是不同类型的石头。示例 1:输入: J = "aA", S = "aAAbbbb"输出: 3示例 2:...
2019-06-04 21:47:33
129
原创 【Leetcode】804. 唯一摩尔斯密码词
QUESTIONeasy题目描述国际摩尔斯密码定义一种标准编码方式,将每个字母对应于一个由一系列点和短线组成的字符串,比如: "a" 对应 ".-", "b" 对应 "-...", "c" 对应 "-.-.", 等等。为了方便,所有26个英文字母对应摩尔斯密码表如下:[".-","-...","-.-.","-..",".","..-.","--.","....","..",".---"...
2019-06-04 21:24:51
156
原创 【Leetcode】575. 分糖果
QUESTIONeasy题目描述给定一个偶数长度的数组,其中不同的数字代表着不同种类的糖果,每一个数字代表一个糖果。你需要把这些糖果平均分给一个弟弟和一个妹妹。返回妹妹可以获得的最大糖果的种类数。示例 1:输入: candies = [1,1,2,2,3,3]输出: 3解析: 一共有三种种类的糖果,每一种都有两个。 最优分配方案:妹妹获得[1,2,3],弟弟也获得[1,2,...
2019-06-04 21:01:32
1653
原创 【Leetcode】594. 最长和谐子序列
QUESTIONeasy题目描述和谐数组是指一个数组里元素的最大值和最小值之间的差别正好是 1。现在,给定一个整数数组,你需要在所有可能的子序列中找到最长的和谐子序列的长度。示例 1:输入: [1,3,2,2,5,2,3,7]输出: 5原因: 最长的和谐数组是:[3,2,2,2,3].说明说明: 输入的数组长度最大不超过 20,000SOLUTION先搞清子串和子序列...
2019-05-29 15:02:03
214
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人