<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Michael_Zyx的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Michael_Zyx</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Michael_Zyx]]></copyright><item><title><![CDATA[Linux简单介绍（待更）]]></title><link>https://blog.youkuaiyun.com/Michael_Zyx/article/details/107941447</link><guid>https://blog.youkuaiyun.com/Michael_Zyx/article/details/107941447</guid><author>Michael_Zyx</author><pubDate>Wed, 12 Aug 2020 22:49:22 +0800</pubDate><description><![CDATA[1.Linux的诞生
Linux的前身是Unix以及Minix。
在20世纪70年代，两位编程界大佬Ken Thompson和Dennis Ritchie基于当时贝尔实验室研究的分时操作系统用汇编语言开发出Unix并开源。
直接听这俩位的名字，有人可能没有印象，但是你一定知道他们创造出来的东西，没错，那就是C语言，在创造出C语言之后，二位还用其对Unix系统进行改进。
当时的计算机巨头企业，例如IBM，hp，Sun，发觉Unix系统非常好，于是基于Unix的内核，开发出了他们各自的操作系统：IBM的AIX，]]></description><category></category></item><item><title><![CDATA[关于Docker的一些理解]]></title><link>https://blog.youkuaiyun.com/Michael_Zyx/article/details/107898585</link><guid>https://blog.youkuaiyun.com/Michael_Zyx/article/details/107898585</guid><author>Michael_Zyx</author><pubDate>Sun, 09 Aug 2020 22:05:46 +0800</pubDate><description><![CDATA[1.什么是虚拟机
要讲docker，就不得不说虚拟机，要说虚拟机就得先说一下关于操作系统的事，底层硬件，操作系统以及最上层的应用软件关系如下所示：
图片来源：https://www.zhihu.com/question/28300645/answer/585166942
+--------------------------+
|       Applications       |
+--------------------------+
|+------------------------+|
||  ]]></description><category></category></item><item><title><![CDATA[基于阿里云ECS服务器，CentOS 8操作系统，安装Docker，并利用MySQL镜像创建实例化容器，实现远程连接]]></title><link>https://blog.youkuaiyun.com/Michael_Zyx/article/details/107866249</link><guid>https://blog.youkuaiyun.com/Michael_Zyx/article/details/107866249</guid><author>Michael_Zyx</author><pubDate>Sun, 09 Aug 2020 17:45:05 +0800</pubDate><description><![CDATA[1.Docker的安装
在安装新的Docker之前，首先要检查一下电脑中有无已经安装好的docker，如果有，需要先将其删除，再进行安装。
老版本的Docker叫docker或者docker-engine，我们可以通过下面的指令去进行卸载：
$ sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \]]></description><category></category></item><item><title><![CDATA[在阿里云ECS服务器部署MySQL，远程访问，并上传本地数据库]]></title><link>https://blog.youkuaiyun.com/Michael_Zyx/article/details/107774398</link><guid>https://blog.youkuaiyun.com/Michael_Zyx/article/details/107774398</guid><author>Michael_Zyx</author><pubDate>Mon, 03 Aug 2020 23:28:09 +0800</pubDate><description><![CDATA[1.购买ECS服务器
既然要在服务器上部署数据库，我们首先要购买一个合适的服务器。
在阿里云向导栏里找到“云服务器ECS”选项，他会提示让你购买实例，点击进去我们会看到如下页面：

可以看到，他会让你选择具体实例配置，你可以选择CPU个数，以及内存大小，同时还能选择服务器地址，推荐选择离自己所在位置近的服务器，这样操作延迟会比较低，或者可以选择一些具有优惠的服务器，也十分划算。计费模式可以包月也可以按流量计费，根据自己实际需求进行选择。
接下来是选择镜像，也就是服务器操作系统，这里我选择的是LInux的Ce]]></description><category></category></item><item><title><![CDATA[CentOS 8 安装MySQL 8，并在局域网内可访问]]></title><link>https://blog.youkuaiyun.com/Michael_Zyx/article/details/107731977</link><guid>https://blog.youkuaiyun.com/Michael_Zyx/article/details/107731977</guid><author>Michael_Zyx</author><pubDate>Sat, 01 Aug 2020 19:31:07 +0800</pubDate><description><![CDATA[安装过程
我们可以通过cmd进行安装，因为CentOS8有一个软件管理器，它能够提供mysql8的安装方法（需要有root权限的用户）。
首先找到cmd：

进入cmd之后，我们可以查看一下自己系统中有没有安装过mysql其他版本，有的话需要先卸载，再安装新版本
输入以下命令进行查看：
rpm -qa | grep mysql

如果什么都没有显示，而是紧接着让你输入新的指令，说明你的电脑本身没有自带任何关于mysql的服务。
接下来我们就可以输入以下指令开始安装操作：
sudo dnf install @]]></description><category></category></item><item><title><![CDATA[一些常用算法以及思想（待更新）]]></title><link>https://blog.youkuaiyun.com/Michael_Zyx/article/details/107679714</link><guid>https://blog.youkuaiyun.com/Michael_Zyx/article/details/107679714</guid><author>Michael_Zyx</author><pubDate>Thu, 30 Jul 2020 23:34:52 +0800</pubDate><description><![CDATA[aaa

]]></description><category></category></item><item><title><![CDATA[数据结构的简单总结]]></title><link>https://blog.youkuaiyun.com/Michael_Zyx/article/details/107657940</link><guid>https://blog.youkuaiyun.com/Michael_Zyx/article/details/107657940</guid><author>Michael_Zyx</author><pubDate>Wed, 29 Jul 2020 19:31:26 +0800</pubDate><description><![CDATA[1.栈（stack）
栈遵循的是一种后进先出（Last-In First-Out）的策略，每次执行删除操作只能删除最近插入的元素。
举个简单的例子，就好像桶装薯片，工厂装薯片的时候最先装进去的薯片肯定压在最低下，最上面的薯片一定是最后才装进去的。
你吃薯片的时候，一定也是从最上面开始拿，不拿走最上面的薯片，你是没有办法拿到处在下层的薯片的。
栈的典型操作
1.PUSH：将元素压入栈中
2.POP：将顶层元素删除
栈的状态
1.栈中不包含任何元素，栈是 ”空”（Empty） 的
2.试图对一个空栈执行POP操]]></description><category></category></item><item><title><![CDATA[LeetCode每日一题之 “买卖股票的最佳时机 II” 附Go语言版本]]></title><link>https://blog.youkuaiyun.com/Michael_Zyx/article/details/107638237</link><guid>https://blog.youkuaiyun.com/Michael_Zyx/article/details/107638237</guid><author>Michael_Zyx</author><pubDate>Tue, 28 Jul 2020 17:51:37 +0800</pubDate><description><![CDATA[题目：给定一个数组，它的第 i 个元素是一支给定股票第 i 天的价格。
设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易（多次买卖一支股票）。
**注意：**你不能同时参与多笔交易（你必须在再次购买前出售掉之前的股票）。
示例1：

输入: [7,1,5,3,6,4]
输出: 7
解释: 在第 2 天（股票价格 = 1）的时候买入，在第 3 天（股票价格 = 5）的时候卖出, 这笔交易所能获得利润 = 5-1 = 4 。
随后，在第 4 天（股票价格 = 3）的时候买入，在第 5 天（股]]></description><category></category></item><item><title><![CDATA[LeetCode每日一题之 “分割数组的最大值”  更新Go语言版本 PS：这题给我整惨了]]></title><link>https://blog.youkuaiyun.com/Michael_Zyx/article/details/107619617</link><guid>https://blog.youkuaiyun.com/Michael_Zyx/article/details/107619617</guid><author>Michael_Zyx</author><pubDate>Tue, 28 Jul 2020 00:36:27 +0800</pubDate><description><![CDATA[题目：给定一个非负整数数组和一个整数 m，你需要将这个数组分成 m 个非空的连续子数组。设计一个算法使得这 m 个子数组各自和的最大值最小。
示例：

输入:
nums = [7,2,5,10,8]
m = 2
输出:
18
解释:
一共有四种方法将nums分割为2个子数组。
其中最好的方式是将其分为[7,2,5] 和 [10,8]，
因为此时这两个子数组各自的和的最大值为18，在所有情况中最小。

（[将数组分割为 m 段，求……」是动态规划题目常见的问法。）
记录一下 “算法导论” 中关于动态规划方法论]]></description><category></category></item><item><title><![CDATA[云计算服务与阿里云的简单使用]]></title><link>https://blog.youkuaiyun.com/Michael_Zyx/article/details/107583470</link><guid>https://blog.youkuaiyun.com/Michael_Zyx/article/details/107583470</guid><author>Michael_Zyx</author><pubDate>Sat, 25 Jul 2020 20:24:09 +0800</pubDate><description><![CDATA[云计算服务的简单介绍
首先来说一下什么是“云”。
这是一种很恰当的比喻，就像人们在地上看天空中的云一样，它是一种远程的，可见的东西。
在计算机网络用语中，它就指的是一种网络形式，同时也指互联网底层基础设施，目前国内大家熟知的“云”厂商，阿里，腾讯，百度，他们就是自己部署大量的互联网基础设施，这些设施中有些是要他们自己使用的，比如阿里的“淘宝”，腾讯的各种游戏，百度自己的搜索引擎，多于的产能则可以租出去，为其他公司或者个人提供“云计算服务”。
“云计算服务”大致上分为三类
1.LaaS(Infrastruct]]></description><category></category></item><item><title><![CDATA[GitHub上传项目与本地克隆]]></title><link>https://blog.youkuaiyun.com/Michael_Zyx/article/details/107578909</link><guid>https://blog.youkuaiyun.com/Michael_Zyx/article/details/107578909</guid><author>Michael_Zyx</author><pubDate>Sat, 25 Jul 2020 16:53:01 +0800</pubDate><description><![CDATA[GitHub的简单使用流程
这里分享一下关于GitHub上传项目，和本地克隆的过程。
建议先下载一个GitHub Desktop通过这里可以查看本地仓库，克隆远程仓库，同时还有Git配套文件，很全面。（最好挂着梯子下载）

红框所示，你可以选择MACOS，或者Windows版本，之后就是“下一步”安装法（这里我是Windows(64bit)版本），装好之后需要你登录GitHub账号，如果没有GitHub账号，可以去GitHub官网自己注册一个。
安装完成并登录，大概会是这样一个页面：

为方便起见，咱们不在]]></description><category></category></item><item><title><![CDATA[LeetCode每日一题之 “最小路径和” 更新Go语言版本]]></title><link>https://blog.youkuaiyun.com/Michael_Zyx/article/details/107543189</link><guid>https://blog.youkuaiyun.com/Michael_Zyx/article/details/107543189</guid><author>Michael_Zyx</author><pubDate>Thu, 23 Jul 2020 22:53:52 +0800</pubDate><description><![CDATA[题目：给定一个包含非负整数的 m × n 网格，请找出一条从左上角到右下角的路径，使得路径上的数字总和为最小。
说明：每次只能向下或者向右移动一步。
示例：

输入:
[
[1,3,1],
[1,5,1],
[4,2,1]
]
输出: 7
解释: 因为路径 1→3→1→1→1 的总和最小。

这道题可以利用动态规划进行求解。
定义：
min[i][j]从左上角到第 i 行第 j 列的点最短路径值
以最终终点为例，要找到到达第 m 行第 n 列（右下角）的最短路径，我们只需要知道 min[m-1][n]（到终]]></description><category></category></item><item><title><![CDATA[LeetCode每日一题之 “旋转数组的最小数字” （Java与Go）]]></title><link>https://blog.youkuaiyun.com/Michael_Zyx/article/details/107539530</link><guid>https://blog.youkuaiyun.com/Michael_Zyx/article/details/107539530</guid><author>Michael_Zyx</author><pubDate>Thu, 23 Jul 2020 16:26:46 +0800</pubDate><description><![CDATA[题目：把一个数组最开始的若干个元素搬到数组的末尾，我们称之为数组的旋转。输入一个递增排序的数组的一个旋转，输出旋转数组的最小元素。例如，数组 [3,4,5,1,2] 为 [1,2,3,4,5] 的一个旋转，该数组的最小值为1。
示例 1：

输入：[3,4,5,1,2]
输出：1

示例 2：

输入：[2,2,2,0,1]
输出：0

此题关键在于这原本是一个递增序列，也就是是说，通常情况旋转过后会分成两部分，第一部分递增，到某处后突然变小，接着第二部分继续递增，最小值一定出现在断层的地方，因此只要我们找]]></description><category></category></item><item><title><![CDATA[LeetCode每日一题之 “不同的二叉搜索树 II”]]></title><link>https://blog.youkuaiyun.com/Michael_Zyx/article/details/107513507</link><guid>https://blog.youkuaiyun.com/Michael_Zyx/article/details/107513507</guid><author>Michael_Zyx</author><pubDate>Wed, 22 Jul 2020 16:21:59 +0800</pubDate><description><![CDATA[题目：给定一个整数 n，生成所有由 1 … n 为节点所组成的二叉搜索树 。
示例：

输入：3
输出：
[
[1,null,3,2],
[3,2,null,1],
[3,1,null,null,2],
[2,1,3],
[1,null,2,null,3]
]
以上输出对应5种不同结构的二叉搜索树：


同时，这道题给了我们关于TreeNode的定义：
public class TreeNode {
      int val;
      TreeNode left;
      TreeNode rig]]></description><category></category></item><item><title><![CDATA[LeetCode每日一题之 “两数之和 II - 输入有序数组” 更新Go语言版本]]></title><link>https://blog.youkuaiyun.com/Michael_Zyx/article/details/107478213</link><guid>https://blog.youkuaiyun.com/Michael_Zyx/article/details/107478213</guid><author>Michael_Zyx</author><pubDate>Tue, 21 Jul 2020 01:20:27 +0800</pubDate><description><![CDATA[题目：给定一个已按照升序排列 的有序数组，找到两个数使得它们相加之和等于目标数。
函数应该返回这两个下标值 index1 和 index2，其中 index1 必须小于 index2。
说明:

返回的下标值（index1 和 index2）不是从零开始的。
你可以假设每个输入只对应唯一的答案，而且你不可以重复使用相同的元素。

示例：

输入: numbers = [2, 7, 11, 15], target = 9
输出: [1,2]
解释: 2 与 7 之和等于目标数 9 。因此 index1 = 1]]></description><category></category></item><item><title><![CDATA[Go语言学习记录（持续更新）今日更新“make()“ “append()”“copy()”以及其它一些切片操作]]></title><link>https://blog.youkuaiyun.com/Michael_Zyx/article/details/107466486</link><guid>https://blog.youkuaiyun.com/Michael_Zyx/article/details/107466486</guid><author>Michael_Zyx</author><pubDate>Mon, 20 Jul 2020 23:57:53 +0800</pubDate><description><![CDATA[变量
变量声明
1.普通声明
var a string //声明一个字符串类型变量---空值类型：“”（空字符串）
var b int//声明一个整型变量---空值类型：0
var c bool//声明一个布尔类型变量---空值类型：false

2.批量声明
这样就不用每次声明变量都写一遍var关键字，十分便捷
var (
	a string
	b int
	c bool
)

注：Go语言中，非全局变量声明了必须被使用，否则会报错
变量初始化
1.单个赋值
var a string = "like"
v]]></description><category></category></item><item><title><![CDATA[LeetCode每日一题之“三角形最小路径和” 更新Go语言版本]]></title><link>https://blog.youkuaiyun.com/Michael_Zyx/article/details/107449587</link><guid>https://blog.youkuaiyun.com/Michael_Zyx/article/details/107449587</guid><author>Michael_Zyx</author><pubDate>Mon, 20 Jul 2020 01:04:15 +0800</pubDate><description><![CDATA[题目：给定一个三角形，找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。
相邻的结点 在这里指的是 下标 与 上一层结点下标 相同或者等于 上一层结点下标 + 1 的两个结点。
示例 ：

给定三角形：

自顶向下的最小路径和为 11（即，2 + 3 + 5 + 1 = 11）。

这道题可以利用动态规划去解决，是一道经典的动态规划题。
定义：
f [ i ][ j ] 表示三角形从顶部走到第 i 行第 j 列的最小路径和（i，j 均从0开始编号）
c [ i ][ j ] 表示三角形第 i ]]></description><category></category></item><item><title><![CDATA[LeetCode每日一题之“不同的二叉搜索树” 更新Go语言版本]]></title><link>https://blog.youkuaiyun.com/Michael_Zyx/article/details/107446433</link><guid>https://blog.youkuaiyun.com/Michael_Zyx/article/details/107446433</guid><author>Michael_Zyx</author><pubDate>Sun, 19 Jul 2020 17:35:45 +0800</pubDate><description><![CDATA[题目：给定一个整数 n，求以 1 … n 为节点组成的二叉搜索树有多少种？
示例 ：

输入: 3
输出: 5
解释:
给定 n = 3, 一共有 5 种不同结构的二叉搜索树:


这道题想让我们找出有多少不同的二叉搜索树，首先对于一个二叉树而言，左子叶小于其根，右子叶大于其根。
要找不同的树，最好的方法是从根入手，给定整数1到 n，那么其中每一个整数都可作为单独的根存在。
确定了最基础的根之后，剩下的数字重新排列，又可以每个数作为子树的新根，进而产生不同的树。
因此这道题的核心思想就是不断确定新的根，将一]]></description><category></category></item><item><title><![CDATA[LeetCode每日一题之“判断二分图”]]></title><link>https://blog.youkuaiyun.com/Michael_Zyx/article/details/107437356</link><guid>https://blog.youkuaiyun.com/Michael_Zyx/article/details/107437356</guid><author>Michael_Zyx</author><pubDate>Sun, 19 Jul 2020 15:41:07 +0800</pubDate><description><![CDATA[题目：给定一个无向图graph，当这个图为二分图时返回true。
如果我们能将一个图的节点集合分割成两个独立的子集A和B，并使图中的每一条边的两个节点一个来自A集合，一个来自B集合，我们就将这个图称为二分图。
graph将会以邻接表方式给出，graph[ i ] 表示图中与节点i相连的所有节点。每个节点都是一个在0到 graph.length-1 之间的整数。这图中没有自环和平行边： graph[ i ] 中不存在 i，并且graph[ i ]中没有重复的值。
示例 1：

输入: [[1,3], [0,2]]></description><category></category></item><item><title><![CDATA[LeetCode每日一题之“搜索插入位置” 更新Go语言版本]]></title><link>https://blog.youkuaiyun.com/Michael_Zyx/article/details/107435377</link><guid>https://blog.youkuaiyun.com/Michael_Zyx/article/details/107435377</guid><author>Michael_Zyx</author><pubDate>Sat, 18 Jul 2020 22:09:23 +0800</pubDate><description><![CDATA[题目：给定一个排序数组和一个目标值，在数组中找到目标值，并返回其索引。如果目标值不存在于数组中，返回它将会被按顺序插入的位置。
你可以假设数组中无重复元素。
示例 1：

输入: [1,3,5,6], 5
输出: 2

示例 2：

输入: [1,3,5,6], 2
输出: 1

这道题目很好理解，是一个简单的排序查找问题，最简单的方法就是从头或者从尾开始遍历，一个一个比较大小，直到找出应该将这个数字放置的位置，但是这样做会耗费很长的时间，并不划算。
这里我们用“二分法”可以更快更好的解决这个问题。
二分法]]></description><category></category></item></channel></rss>