<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[乘风破浪Now 的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/greatgeek</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; greatgeek]]></copyright><item><title><![CDATA[什么影响了你理解动态规划（一）]]></title><link>https://blog.youkuaiyun.com/greatgeek/article/details/106410433</link><guid>https://blog.youkuaiyun.com/greatgeek/article/details/106410433</guid><author>greatgeek</author><pubDate>Thu, 28 May 2020 18:10:03 +0800</pubDate><description><![CDATA[什么影响了你理解动态规划（一）
1. 简介动态规划
几乎很难给动态规划下一个易于理解的定义，映入眼帘的只有动态二字，将动态与其定义作一个贴切的解释就是多阶段决策。最后的结果与每个阶段的决策有关，其动态的概念在于最后的结果与每一个阶段的决策有关。这样一来将动态规划与贪心算法作比较就可以发现，动态规划属于全局最优算法，贪心算法属于局部最优算法。在了解动态规划的第一步只要知道其两个特点即可：多阶段与决策。
2. 动态规划问题的完整建模过程
（1）将问题过程划分成恰当的阶段；
（2）正确选择状态变量 SkS_kSk]]></description><category></category></item><item><title><![CDATA[Spring 关键点说明]]></title><link>https://blog.youkuaiyun.com/greatgeek/article/details/103102010</link><guid>https://blog.youkuaiyun.com/greatgeek/article/details/103102010</guid><author>greatgeek</author><pubDate>Sat, 16 Nov 2019 20:15:12 +0800</pubDate><description><![CDATA[Spring简介

Spring是一个开源框架，它由RodJohnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而，Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言，任何Java应用都可以从Spring中受益。

简单来说，Spring是一个轻量级的控制反转(IoC)和面向切面(AOP...]]></description><category></category></item><item><title><![CDATA[Linux 下查看主机网关的方法]]></title><link>https://blog.youkuaiyun.com/greatgeek/article/details/102562653</link><guid>https://blog.youkuaiyun.com/greatgeek/article/details/102562653</guid><author>greatgeek</author><pubDate>Tue, 15 Oct 2019 11:10:06 +0800</pubDate><description><![CDATA[本地主机使用DHCP情况下
方法一：
主机的网关是通向外网的第一个路由器或交换机，此时只要让主机向外网目的主机发出一个包并记录路径，则第一个结点即是网关。
traceroute www.baidu.com

方法二：
倘若本地主机无法联网，则上述方法就用不了了，此时可以查看本机上的路由转发表：
ip route show

本地主机使用静态IP情况下
此时由于本地主机使用静态IP，直接查看本地的配...]]></description><category></category></item><item><title><![CDATA[为什么BIOS要将主引导扇区（MBR）加载到0x7c00这个地址？]]></title><link>https://blog.youkuaiyun.com/greatgeek/article/details/102542271</link><guid>https://blog.youkuaiyun.com/greatgeek/article/details/102542271</guid><author>greatgeek</author><pubDate>Mon, 14 Oct 2019 10:09:53 +0800</pubDate><description><![CDATA[0x7c00是BIOS将主引导扇区加载到内存的地址。0x7c = 32KB - 1KB，为什么是这个数？



从头开始讲：

计算机是这样启动的：

上电
	读取ROM里面的BIOS，用来检查硬件（Power On Self Test）
	硬件检查通过
	BIOS根据指定的顺序，检查引导设备的第一个扇区（即主引导记录），将这个扇区加载在内存地址 0x7c00处
	主引导记录把操作权交给操作系统
...]]></description><category></category></item><item><title><![CDATA[GDT与LDT]]></title><link>https://blog.youkuaiyun.com/greatgeek/article/details/102508877</link><guid>https://blog.youkuaiyun.com/greatgeek/article/details/102508877</guid><author>greatgeek</author><pubDate>Fri, 11 Oct 2019 19:45:18 +0800</pubDate><description><![CDATA[GDT的由来：


在Protected Mode下，一个重要的必不可少的数据结构就是GDT（Global Descriptor Table）。
为什么要有GDT？我们首先考虑一下在Real Mode下的编程...]]></description><category></category></item><item><title><![CDATA[Makefile文件功能描述]]></title><link>https://blog.youkuaiyun.com/greatgeek/article/details/102468319</link><guid>https://blog.youkuaiyun.com/greatgeek/article/details/102468319</guid><author>greatgeek</author><pubDate>Wed, 09 Oct 2019 19:57:03 +0800</pubDate><description><![CDATA[Makefile 文件功能描述
Makefile 文件相当于程序编译过程中的批处理文件。是工具程序 make 运行时的输入数据文件。只要在含有 Makefile 的当前目录中键入 make 命令，它就会依据 Makefile 文件中的设置对源程序或目标代码文件进行编译、连接或进行安装等操作。
make工具程序能自动地确定一个大程序系统中哪些程序文件需要被重新编译，并发出命令对这些程序文件进行编译。...]]></description><category></category></item><item><title><![CDATA[关于./configure，make，make install]]></title><link>https://blog.youkuaiyun.com/greatgeek/article/details/101775783</link><guid>https://blog.youkuaiyun.com/greatgeek/article/details/101775783</guid><author>greatgeek</author><pubDate>Mon, 30 Sep 2019 16:42:23 +0800</pubDate><description><![CDATA[./configure 作用是检测安装平台的目标特征。比如它会检测安装平台是不是有CC或GCC，并不是需要CC或GCC，它是一个shell脚本。

make 作用是编译，它从Makefile中读取指令，然后编译。

make install 作用是安装，它也从Makefile中读取指令，安装到指定的位置。

1、configure

这一步一般用来生成Makefile,为下一步的编译做准备，可以在...]]></description><category></category></item><item><title><![CDATA[算术中缀表达式转化成后缀表达式，并利用后缀表达式求值（操作数为个位数）]]></title><link>https://blog.youkuaiyun.com/greatgeek/article/details/101698916</link><guid>https://blog.youkuaiyun.com/greatgeek/article/details/101698916</guid><author>greatgeek</author><pubDate>Sun, 29 Sep 2019 17:06:35 +0800</pubDate><description><![CDATA[算术中缀表达式与后缀表达式

后缀表达式有利于计算机进行计算，中缀表达式有利于人们阅读与表达。

中缀表达式：a+b*c+(d*e+f)*g

对应的后缀表达式：abc*+de*f+g*+

将中缀表达式转化成后缀表达式

需要利用栈这种数据结构才能完成这一转化，在此用队列来存储后缀表达式：

中缀表达式的入栈规则：

1) 遇到操作数，直接输出到队列；

2）遇到操作符，输出到栈中，这个栈是一个...]]></description><category></category></item><item><title><![CDATA[关于windows与linux下的path路径]]></title><link>https://blog.youkuaiyun.com/greatgeek/article/details/101389105</link><guid>https://blog.youkuaiyun.com/greatgeek/article/details/101389105</guid><author>greatgeek</author><pubDate>Wed, 25 Sep 2019 21:46:49 +0800</pubDate><description><![CDATA[Windows下的Path路径是用分号(;)来隔开的；

Linux下的Path路径是用冒号(:)来隔开的。
]]></description><category></category></item><item><title><![CDATA[Bash 脚本笔记]]></title><link>https://blog.youkuaiyun.com/greatgeek/article/details/101208250</link><guid>https://blog.youkuaiyun.com/greatgeek/article/details/101208250</guid><author>greatgeek</author><pubDate>Mon, 23 Sep 2019 21:56:18 +0800</pubDate><description><![CDATA[bash 特殊字符（上）
1.将文件中内容清空而保留文件
cat /dev/null &gt; example.file

因为 /dev/null 是空的，重定向到 example.file后，就清空了example.file里的内容。
2. 单分号（;）与双分号（;;）

使用单分号(;)可以在一行中写入多条语句

 echo hello; echo there


使用双分号(;;)可以终止...]]></description><category></category></item><item><title><![CDATA[瑞士军刀篇]]></title><link>https://blog.youkuaiyun.com/greatgeek/article/details/100582517</link><guid>https://blog.youkuaiyun.com/greatgeek/article/details/100582517</guid><author>greatgeek</author><pubDate>Sat, 21 Sep 2019 09:58:01 +0800</pubDate><description><![CDATA[一、给二维数组排序

按照元素的第一维来排序：

只能给对象添加比较器，无法给基础类型添加比较器，数组也是一种对象。


int[][] trips = new int[m][n];
//二维数组的初始化操作
Arrays.sort(trips, new Comparator&lt;int[]&gt;() {
	@Override
	public int compare(int[] o1, int...]]></description><category></category></item><item><title><![CDATA[关于素数]]></title><link>https://blog.youkuaiyun.com/greatgeek/article/details/101078465</link><guid>https://blog.youkuaiyun.com/greatgeek/article/details/101078465</guid><author>greatgeek</author><pubDate>Fri, 20 Sep 2019 21:11:05 +0800</pubDate><description><![CDATA[一、单个素数的判断方法
除了1和自身，再没有能够整除它的数，则这个数为素数
boolean isPrime(int n){
	for(int i=2;i&lt;Math.sqrt(n);i++){
		if(n%i==0) return false;
	}
	return true;
}

二、判断一个范围内的素数个数
埃氏筛选法（埃拉托斯特尼筛法）
对于筛选整数n以内的素数：先把素数2的倍数全部...]]></description><category></category></item><item><title><![CDATA[3Sum和4Sum]]></title><link>https://blog.youkuaiyun.com/greatgeek/article/details/101060797</link><guid>https://blog.youkuaiyun.com/greatgeek/article/details/101060797</guid><author>greatgeek</author><pubDate>Fri, 20 Sep 2019 15:43:27 +0800</pubDate><description><![CDATA[15. 3Sum

Given an arraynumsofnintegers, are there elementsa,b,cinnumssuch thata+b+c= 0? Find all unique triplets in the array which gives the sum of zero.

Note:

The solution set mus...]]></description><category></category></item><item><title><![CDATA[最小子列和的动态规划解法]]></title><link>https://blog.youkuaiyun.com/greatgeek/article/details/100900423</link><guid>https://blog.youkuaiyun.com/greatgeek/article/details/100900423</guid><author>greatgeek</author><pubDate>Mon, 16 Sep 2019 20:28:27 +0800</pubDate><description><![CDATA[最小子列和的动态规划

53. Maximum Subarray

Given an integer arraynums, find the contiguous subarray(containing at least one number) which has the largest sum and return its sum.

Example:


Input: [-2,1,-3,4...]]></description><category></category></item><item><title><![CDATA[152. Maximum Product Subarray]]></title><link>https://blog.youkuaiyun.com/greatgeek/article/details/100750781</link><guid>https://blog.youkuaiyun.com/greatgeek/article/details/100750781</guid><author>greatgeek</author><pubDate>Wed, 11 Sep 2019 22:17:40 +0800</pubDate><description><![CDATA[Given an integer arraynums, find the contiguous subarray within an array (containing at least one number) which has the largest product.

Example 1:


Input: [2,3,-2,4]
Output: 6
Explanation:[2,3] h...]]></description><category></category></item><item><title><![CDATA[402. Remove K Digits]]></title><link>https://blog.youkuaiyun.com/greatgeek/article/details/100622536</link><guid>https://blog.youkuaiyun.com/greatgeek/article/details/100622536</guid><author>greatgeek</author><pubDate>Sun, 08 Sep 2019 11:02:17 +0800</pubDate><description><![CDATA[这里实际采用了单调栈的思想，单调栈就是要在栈内保持其单调性（单调递增或单调递减）。我们需要移除遇到的“峰”或“谷”。这道题就是要删除每次遇到的“峰”。

关于单调栈的总结：单调栈与单调队列


public String removeKdigits(String num, int k) {
        StringBuffer numBuffer = new StringBuffer(num)...]]></description><category></category></item><item><title><![CDATA[理解Linux配置文件]]></title><link>https://blog.youkuaiyun.com/greatgeek/article/details/100146140</link><guid>https://blog.youkuaiyun.com/greatgeek/article/details/100146140</guid><author>greatgeek</author><pubDate>Thu, 29 Aug 2019 21:52:36 +0800</pubDate><description><![CDATA[若要修改配置文件，首先要知道这个配置文件的位置，然后要清楚这个配置文件中每个变量的含义，才可作修改。

介绍

每个Linux程序都是一个可执行文件，它含有操作码列表（操作码其实就是指令序列号，用来告诉CPU需要执行哪一条指令。指令系统的每一条指令都有一个操作码，它表示该指令应进行什么性质的操作。）CPU将执行这些操作码来完成特定的操作。例如，ls 命令是由 /bin/ls 文件提供的，该文件含有...]]></description><category></category></item><item><title><![CDATA[ACM修炼指南]]></title><link>https://blog.youkuaiyun.com/greatgeek/article/details/100122905</link><guid>https://blog.youkuaiyun.com/greatgeek/article/details/100122905</guid><author>greatgeek</author><pubDate>Thu, 29 Aug 2019 15:14:00 +0800</pubDate><description><![CDATA[数据结构
栈、队列、链表、树

哈希表，哈希数组
堆，优先队列
双端队列
可并堆
左偏堆
二叉查找树
Treap （树堆）
伸展树

并查集

集合计数问题
二分图的识别

平衡二叉树
二叉排序树（二叉搜索树）
区间树

一维区间树
二维区间树

树状数组

一维树状数组
N维树状数组

字典树
后缀数组、后缀树
块状链表
哈夫曼树
桶、跳跃表
Trie树（静态建树、动态建树）
AC自动机（Aho...]]></description><category></category></item><item><title><![CDATA[C++ STL中常用数据结构]]></title><link>https://blog.youkuaiyun.com/greatgeek/article/details/100130503</link><guid>https://blog.youkuaiyun.com/greatgeek/article/details/100130503</guid><author>greatgeek</author><pubDate>Thu, 29 Aug 2019 10:02:51 +0800</pubDate><description><![CDATA[C++  STL常用数据结构]]></description><category></category></item><item><title><![CDATA[图的最短路径]]></title><link>https://blog.youkuaiyun.com/greatgeek/article/details/100039260</link><guid>https://blog.youkuaiyun.com/greatgeek/article/details/100039260</guid><author>greatgeek</author><pubDate>Sat, 24 Aug 2019 21:12:15 +0800</pubDate><description><![CDATA[最短路径的常用解法有迪杰斯特拉算法（Dijkstra Algorithm）、弗洛伊德算法（Floyd-Warshall Algorithm）和贝尔曼福特算法（Bellman-Ford Algorithm）。其中，Floyd算法是多源最短路径算法，即求任意点到任意点的最短路径，而Dijkstra算法和Bellman-Ford算法是单源最短路径算法，即单个点到单个点的最短路径。这三种算法还有一点不同，...]]></description><category></category></item></channel></rss>