- 博客(78)
- 收藏
- 关注
原创 一篇文章带你搞懂动态规划问题
前言这篇博客主要是跟大家相互交流学习动态规划问题,下面记录的是一些我的学习心得。有不足的情况还望大家私聊交流指正。我写这篇博客的思路大概是这样:首先解释下动态规划的关键概念,然后列出各种动态规划类型的题目,只要能够跟着我的博客完成之后的动态规划题目我觉得应该能够解决平时遇到的百分之90的动态规划的问题一、动态规划的四大组成部分1、确定状态状态在动态规划中的作用至关重要。简单理解状态就是我们需要一个数组,数组中的每个元素就是代表状态。确定状态需要两个关键意识:最后一步和子问题。(1)最后一步(可以
2021-02-05 16:24:07
496
2
原创 区间型动态规划——最长回文子序列
给定一个字符串 s ,找到其中最长的回文子序列,并返回该序列的长度。可以假设 s 的最大长度为 1000 。示例 1:一个可能的最长回文子序列为 “bbbb”。输入:"bbbab"输出:4一个可能的最长回文子序列为 “bbbb”。1、题目分析这个题目可以划分为序列类型的动态规划,也可以划作为区间类型的动态规划。就我个人的思想而言,更接近区间类型的动态规划。2、确定状态最优策略产生最长的回文子串T,长度是M• 情况1:回文串长度是1,即一个字母• 情况2:回文串长度大于1,那么必.
2021-02-05 16:23:14
333
原创 背包型动态规划——零钱兑换
给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。你可以认为每种硬币的数量是无限的。示例:输入:coins = [1, 2, 5], amount = 11输出:3 解释:11 = 5 + 5 + 1示例 2:提示:1 <= coins.length <= 121 <= coins[i] <= 231 - 10 <= amount <.
2021-02-05 16:23:06
334
1
原创 划分型动态规划——解码方法
一条包含字母 A-Z 的消息通过以下方式进行了编码:‘A’ -> 1‘B’ -> 2…‘Z’ -> 26给定一个只包含数字的非空字符串,请计算解码方法的总数。题目数据保证答案肯定是一个 32 位的整数。示例 1:输入:s = "12"输出:2解释:它可以解码为 "AB"(1 2)或者 "L"(12)。示例 2:1、题目分析从题目的提问方式能够很明显的看出这是一个技术类型的动态规划。2、确定状态解密数字串即划分成若干数字,每段数字对应一个字母。最后一步(最后.
2021-02-05 16:22:48
192
原创 划分型动态规划——完全平方数
给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, …)使得它们的和等于 n。你需要让组成和的完全平方数的个数最少。示例 1:输入: n = 12输出: 3 解释: 12 = 4 + 4 + 4.1、题目分析从题目的提问方式,能够很明显的看出这是个最值类型的动态规划。2、确定状态最后一步:关注最后策略中最后一个完全平方数j*j;最后策略中n-j*j也一定被划分成最少的完全平方数之和。因此我们可以假设f[i]表示i最少被分成几个完全平方数之和3、转移方程假设f[i].
2021-02-05 16:22:33
174
原创 划分型动态规划——分割回文串2
给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串。返回符合要求的最少分割次数。示例:输入: "aab"输出: 1解释: 进行一次分割就可将 s 分割成 ["aa","b"] 这样两个回文子串。1、题目分析从题目提问方式,能够很明显的看出这是个最值类型的和划分类型的动态规划。2、确定状态最后一步:关注最优策略中最后一段回文串,设为S [j……N-1]。需要知道S前j个字符[0……j-1]最少可以划分成几个回文串。因此我们可以假设f[i]表示S的前i个字符S[0……i-.
2021-02-05 16:22:16
208
原创 划分型动态规划——书籍复制
给定 n 本书, 第 i 本书的页数为 pages[i]. 现在有 k 个人来复印这些书籍, 而每个人只能复印编号连续的一段的书, 比如一个人可以复印 pages[0], pages[1], pages[2], 但是不可以只复印 pages[0], pages[2], pages[3] 而不复印 pages[1].所有人复印的速度是一样的, 复印一页需要花费一分钟, 并且所有人同时开始复印. 怎样分配这 k 个人的任务, 使得这 n 本书能够被尽快复印完?返回完成复印任务最少需要的分钟数.样例 1:.
2021-02-05 16:21:59
298
原创 背包型动态规划——背包问题6
给出一个都是正整数的数组 nums,其中没有重复的数。从中找出所有的和为 target 的组合个数。示例:输入: nums = [1, 2, 4] 和 target = 4输出: 6解释:可能的所有组合有:[1, 1, 1, 1][1, 1, 2][1, 2, 1][2, 1, 1][2, 2][4]1、题目分析和背包问题5唯一的区别是:组合中数字可以按照不同的顺序组合2、确定状态最后一步:最后一个物品重量是多少• 如果最后一个物品重量是A0 , 则要求有多少种组合能拼成.
2021-02-04 14:21:51
167
原创 背包型动态规划——背包问题3
给定 n 种物品, 每种物品都有无限个. 第 i 个物品的体积为 A[i], 价值为 V[i].再给定一个容量为 m 的背包. 问可以装入背包的最大价值是多少?样例 1:输入: A = [2, 3, 5, 7], V = [1, 5, 2, 4], m = 10输出: 15解释: 装入三个物品 1 (A[1] = 3, V[1] = 5), 总价值 15.样例 2:输入: A = [1, 2, 3], V = [1, 2, 3], m = 5输出: 5解释: 策略不唯一. 比如, 装入.
2021-02-04 14:21:36
181
原创 背包型动态规划——背包问题5
给出 n 个物品, 以及一个数组, nums[i] 代表第i个物品的大小, 保证大小均为正数, 正整数 target 表示背包的大小, 找到能填满背包的方案数。每一个物品只能使用一次给出候选物品集合 [1,2,3,3,7] 以及 target 7结果的集合为:[7][1,3,3]返回 21、题目分析从题目的提问方式可以看出是属于典型的计数类型的动态规划。2、确定状态需要知道N个物品有多少种方式拼出重量W (W =0, 1, …, Target)最后一步:第N个物品(重量AN-1 ).
2021-02-04 14:21:20
167
原创 背包型动态规划——背包问题1
在n个物品中挑选若干物品装入背包,最多能装多满?假设背包的大小为m,每个物品的大小为A[i]示例:样例 1: 输入: [3,4,8,5], backpack size=10 输出: 9样例 2: 输入: [2,3,5,7], backpack size=12 输出: 121、题目分析首先要明确一点,在背包问题中,数组大小和总称重有关。给定N个物品,重量分别为正整数A0, A1, …, AN-1。一个背包最大承重是M,物品的重量都是整数。每个装物品的方案的总重量都是0到M。如.
2021-02-04 14:21:02
264
原创 背包型动态规划——背包问题2
有 n 个物品和一个大小为 m 的背包. 给定数组 A 表示每个物品的大小和数组 V 表示每个物品的价值.问最多能装入背包的总价值是多大?样例 :输入: m = 10, A = [2, 3, 5, 7], V = [1, 5, 2, 4]输出: 9解释: 装入 A[1] 和 A[3] 可以得到最大价值, V[1] + V[3] = 9 1、题目分析我的理解:这个题目完全跟背包问题1类似,只不过在转移方程中重量改为了价值。因此假设f[i][w] 表示用前i个物品拼出重量w时最大总价值2、.
2021-02-04 14:20:46
172
原创 区间型动态规划——预测赢家
给定一个表示分数的非负整数数组。 玩家 1 从数组任意一端拿取一个分数,随后玩家 2 继续从剩余数组任意一端拿取分数,然后玩家 1 拿,…… 。每次一个玩家只能拿取一个分数,分数被拿取之后不再可取。直到没有剩余分数可取时游戏结束。最终获得分数总和最多的玩家获胜。给定一个表示分数的数组,预测玩家1是否会成为赢家。你可以假设每个玩家的玩法都会使他的分数最大化。示例:输入:[1, 5, 2]输出:False解释:一开始,玩家1可以从1和2中进行选择。如果他选择 2(或者 1 ),那么玩家 2 可以从.
2021-02-04 14:20:31
157
1
原创 双序列型动态规划——最长公共子序列
给定两个字符串 text1 和 text2,返回这两个字符串的最长公共子序列的长度。一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。例如,“ace” 是 “abcde” 的子序列,但 “aec” 不是 “abcde” 的子序列。两个字符串的「公共子序列」是这两个字符串所共同拥有的子序列。若这两个字符串没有公共子序列,则返回 0。示例 1:输入:text1 = "abcde", text2 = "ace.
2021-02-04 14:20:12
244
2
原创 双序列型动态规划——交错字符串
给定三个字符串 s1、s2、s3,请你帮忙验证 s3 是否是由 s1 和 s2 交错 组成的。两个字符串 s 和 t 交错 的定义与过程如下,其中每个字符串都会被分割成若干 非空 子字符串:s = s1 + s2 + … + snt = t1 + t2 + … + tm|n - m| <= 1交错 是 s1 + t1 + s2 + t2 + s3 + t3 + … 或者 t1 + s1 + t2 + s2 + t3 + s3 + …提示:a + b 意味着字符串 a 和 b 连接。示例.
2021-02-04 14:19:50
182
原创 双序列型动态规划——编辑距离
给你两个单词 word1 和 word2,请你计算出将 word1 转换成 word2 所使用的最少操作数 。你可以对一个单词进行如下三种操作:插入一个字符删除一个字符替换一个字符示例 1:输入:word1 = "horse", word2 = "ros"输出:3解释:horse -> rorse (将 'h' 替换为 'r')rorse -> rose (删除 'r')rose -> ros (删除 'e')1、确定状态设A长度是m,B长度是n全部操作完成.
2021-02-04 14:19:33
200
原创 双序列型动态规划——不同的子序列
给定一个字符串 s 和一个字符串 t ,计算在 s 的子序列中 t 出现的个数。字符串的一个 子序列 是指,通过删除一些(也可以不删除)字符且不干扰剩余字符相对位置所组成的新字符串。(例如,“ACE” 是 “ABCDE” 的一个子序列,而 “AEC” 不是)题目数据保证答案符合 32 位带符号整数范围。示例 1:输入:s = "rabbbit", t = "rabbit"输出:3解释:如下图所示, 有 3 种可以从 s 中得到 "rabbit" 的方案。(上箭头符号 ^ 表示选取的字母).
2021-02-04 14:18:54
161
原创 博弈型动态规划——硬币排成一条线
有 n 个硬币排成一条线。两个参赛者轮流从右边依次拿走 1 或 2 个硬币,直到没有硬币为止。拿到最后一枚硬币的人获胜。请判定 先手玩家 必胜还是必败?若必胜, 返回 true, 否则返回 false.样例样例 1:输入: 1输出: true样例 2:输入: 4输出: true解释: 先手玩家第一轮拿走一个硬币, 此时还剩三个.这时无论后手玩家拿一个还是两个, 下一次先手玩家都可以把剩下的硬币拿完.1、题目分析这是典型的博弈类型的动态规划题目2、确定状态博弈类型的动态规划
2021-02-03 21:57:05
429
原创 序列型动态规划——俄罗斯套娃信封问题
给定一些标记了宽度和高度的信封,宽度和高度以整数对形式 (w, h) 出现。当另一个信封的宽度和高度都比这个信封大的时候,这个信封就可以放进另一个信封里,如同俄罗斯套娃一样。请计算最多能有多少个信封能组成一组“俄罗斯套娃”信封(即可以把一个信封放到另一个信封里面)。说明:不允许旋转信封。示例:输入: envelopes = [[5,4],[6,4],[6,7],[2,3]]输出: 3 解释: 最多信封的个数为 3, 组合为: [2,3] => [5,4] => [6,7]。1、
2021-02-03 21:55:31
211
原创 序列型动态规划——最长递增子序列
给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。示例 :输入:nums = [10,9,2,5,3,7,101,18]输出:4解释:最长递增子序列是 [2,3,7,101],因此长度为 4 。1、题目分析这是典型的序列类型动态规划题目。2、确定状态最后一份:对于最优的策略,一定有最后一个元素a[j]。第一种情况:最
2021-02-03 21:54:35
198
原创 序列型动态规划——打家劫舍2
你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金。这个地方所有的房屋都 围成一圈 ,这意味着第一个房屋和最后一个房屋是紧挨着的。同时,相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警 。给定一个代表每个房屋存放金额的非负整数数组,计算你 在不触动警报装置的情况下 ,能够偷窃到的最高金额。示例1:输入:nums = [2,3,2]输出:3解释:你不能先偷窃 1 号房屋(金额 = 2),然后偷窃 3 号房屋(金额 = 2), 因为他们是相邻的。
2021-02-03 21:53:36
154
原创 序列类型动态规划——打家劫舍
你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。示例1:输入:[1,2,3,1]输出:4解释:偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号房屋 (金额 = 3)。 偷窃到的最高金额 = 1 + 3 = 4 。1、题目分析根据题目的提
2021-02-03 21:51:40
156
原创 序列型动态规划——粉刷房子
假如有一排房子,共 n 个,每个房子可以被粉刷成红色、蓝色或者绿色这三种颜色中的一种,你需要粉刷所有的房子并且使其相邻的两个房子颜色不能相同。当然,因为市场上不同颜色油漆的价格不同,所以房子粉刷成不同颜色的花费成本也是不同的。每个房子粉刷成不同颜色的花费是以一个 n x 3 的矩阵来表示的。例如,costs[0][0] 表示第 0 号房子粉刷成红色的成本花费;costs[1][2] 表示第 1 号房子粉刷成绿色的花费,以此类推。请你计算出粉刷完所有房子最少的花费成本。注意:所有花费均为正整数。示例
2021-02-03 21:50:22
344
原创 坐标型动态规划——不同路径
一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。问总共有多少条不同的路径?示例 1:输入:m = 3, n = 2输出:3解释:从左上角开始,总共有 3 条路径可以到达右下角。1. 向右 -> 向下 -> 向下2. 向下 -> 向下 -> 向右3. 向下 -> 向右 -> 向下1、题目分析从题目中应该
2021-02-03 21:48:54
240
原创 位操作型动态规划——比特位计数
给定一个非负整数 num。对于 0 ≤ i ≤ num 范围中的每个数字 i ,计算其二进制数中的 1 的数目并将它们作为数组返回。示例 1:输入: 2输出: [0,1,1]1、题目分析从题目中的二进制数能够比较明显的看出该题目属于位操作型动态规划,同时属于计数型的动态规划2、确定状态这个的最后一步应该很好理解,就是它的最后一位二进制位,举个例子:170=10101010,它的最后一位是0,去掉它的最后一位则剩下的数就是85=1010101。因此我们如果要求170的二进制有多个1,只需要
2021-02-03 21:47:14
195
原创 坐标型动态规划——轰炸敌人
想象一下炸弹人游戏,在你面前有一个二维的网格来表示地图,网格中的格子分别被以下三种符号占据:‘W’ 表示一堵墙‘E’ 表示一个敌人‘0’(数字 0)表示一个空位请你计算一个炸弹最多能炸多少敌人。(最值类型)由于炸弹的威力不足以穿透墙体,炸弹只能炸到同一行和同一列没被墙体挡住的敌人。注意:你只能把炸弹放在一个空的格子里示例:输入: [["0","E","0","0"],["E","0","W","E"],["0","E","0","0"]]输出: 3 解释: 对于如下网格0 E 0
2021-02-03 21:45:33
791
原创 坐标型动态规划——最小路径和
给定一个包含非负整数的 m*n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。示例:输入:grid = [[1,5,7,6,8],[4,5,4,4,9],[10,3,2,3,2]]输出:22解释:因为路径 1→4→7→7→3→3→2 的总和最小。1、确定状态我们的最终目的是为了到达右下角,假设右下角坐标为(n-1,m-1),因此最后一步要么(n-2,m-1)向下要么(n-1,m-2)向右。如果倒数第二步在(n-1,m
2021-02-03 21:41:54
254
转载 机器学习考试
1.试证明Jensen不等式:对任意凸函数f(x)f(x)f(x),有f(E(x))≤E(f(x))f(E(x))≤E(f(x))f(E(x))≤E(f(x))。显然,对任意凸函数f(x),必然有f(αx1+(1−α)x2)≤αf(x1)+(1−α)f(x2)f(E(x))=f(1m∑imxi)=f(m−1m1m−1∑im−1xi+1mxi)f(αx_1+(1-α)x_2) \leq αf(x_1)+(1-α)f(x_2)f(E(x))=f(\frac{1}{m}\sum_i^mx_i)=f(\frac
2021-01-24 21:00:58
526
原创 Nachos实习——Lab4文件系统
Nachos实习——Lab4 文件系统文章目录Nachos实习——Lab4 文件系统内容一:总体概述内容二:任务完成情况内容三:具体完成Exercise情况一、文件系统的基本操作Exercise 1 源代码阅读1、code/filesys/filesys.h(cc)2、code/filesys/filehdr.h(cc)3、code/filesys/directory.h(cc)4、code /filesys/openfile.h(cc)5、code/userprog/bitmap.h(cc)Exerci
2020-12-11 21:20:42
1910
1
原创 大数据仓库Hive部署安装
在安装hive之前,请先确保已经搭建好hadoop环境,如果没有完成hadoop环境搭建,可参考文章最全面的CentOS下hadoop的分布式搭建或者CentOS下hadoop的伪分布式安装。一、下载并解压安装包下面提供了hive-0.13.1版本的下载链接链接: https://pan.baidu.com/s/1RcoymkbWsCRUHUKTxrcVmw密码: dh78将下载好的安装包解压到指定目录:二、配置文件hive的配置文件非常简单。1、修改conf目录下的hive-env.sh
2020-11-24 18:50:17
238
原创 Centos安装mysql完整教程
一、查看本机是否安装了mysql使用rpm -qa | grep mysql查看本机是否安装了mysql若安装了则使用rpm -e --nodeps 报名进行卸载二、下载mysql链接: https://pan.baidu.com/s/18y4aVsMR0Qhr7bhnuqqadA密码: 3tv9三、安装mysql服务器安装包中一共包含三个文件,首先暗转server服务。启动server服务查看密码:改密码用于启动mysql四、安装mysql客户端五、启动mysql使用命令
2020-11-24 18:48:49
105
原创 Nachos实习——Lab3同步机制实习报告
Nachos实习——Lab4同步机制实习报告文章目录Nachos实习——Lab4同步机制实习报告内容一:总体概述内容二:任务完成情况内容三:具体完成Exercise情况Exercise 1 调研Exercise 2 源代码阅读1、threads/synch.h(cc)2、code/threads/synchlist.h(cc)Exercise 3 实现锁和条件变量1、Lock实现a、基本思想b、synch.hc、synch.ccd、测试2、条件变量Conditiona、设计思想b、synch.hc、syn
2020-11-18 13:02:49
595
原创 Nachos实习——Lab2虚拟内存实习报告
Nachos实习——Lab2虚拟内存实习报告文章目录Nachos实习——Lab2虚拟内存实习报告内容一:总体概述内容二:任务完成情况内容三:具体完成Exercise情况一、TLB异常处理Exercise 1 源代码阅读1、userprog/progtest.cc2、machine/machine.cc和machine/machine.h3、machine/translate.h(cc)和userprog/exception.h(cc)Exercise 2 TLB MISS异常处理1、设计思路2、userp
2020-11-03 18:50:01
2760
7
原创 Nachos实习——Lab1线程机制实习报告
Nachos实习——Lab1线程机制实习报告文章目录Nachos实习——Lab1线程机制实习报告内容一:总体概述内容二:任务完成情况内容三:具体完成Exercise情况Exercise 1 调研1、Linux进程控制块(PCB)2、Linux进程控制块与Nachos的异同3、Linux采用的进程/线程调度算法Exercise 2 源代码阅读1、code/threads/main.cc2、code/threads/threadtest.cc3、code/threads/thread.h4、code/thre
2020-10-24 20:04:43
1509
原创 hadoop之HDFS HA(高可用)架构安装部署
前言再看本文章之前,请先确保已经看过CentOS下hadoop的分布式搭建和分布式协作服务框架Zookeeper安装部署两篇文章,因为本文章是建立在它们基础之上的。一、HA相关介绍1、为什么出现HA架构Hadoop2.0之前,在HDFS集群中NameNode存在单点故障(SPOF)(也就是namenode单点宕机导致集群不可用的问题)。NameNode主要在以下两个方面影响HDFS集群:NameNode机器发生意外,如宕机,集群将无法使用,直到管理员重启NameNode机器需要升级,包括软件
2020-10-18 16:50:50
390
2
原创 分布式协作服务框架Zookeeper安装部署
一、Zookeeper是什么官方文档是这么解释Zookeeper的:它是一个开源的分布式的,为分布式应用提供协调服务的Apache项目。它提供一个简单的原语集合,以便于分布式应用可以在它之上构建更高层次的同步服务。它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、配置管理、集群管理、共享锁/同步锁等。从设计模式角度来看,它是一个基于观察者模式设计的分布式服务管理框架,它负责存储和管理集群中所有结点都关心的数据,然后接受观察者(集群中的结点)的注册,如果这些数据的状态发生改变,zoo
2020-10-17 22:01:13
168
2
原创 CentOS安装Eclipse完整教程
一、安装Maven1、Maven主要是用来管理项目以来的Jar包。下载链接密码: a23q2、将下载好的Maven解压到对应的安装目录3、配置环境变量在/etc/profile下配置好Maven的环境变量4、配置Maven本地仓库Maven的仓库默认是在~/.m2/repository目录下的,可以在Maven安装目录下的conf文件夹下的settings.xml文件中看到。但是默认情况下是没有这个目录,所以我们需要在用户根目录下创建.m2/repository文件夹。创建好之后,r
2020-10-13 10:26:58
2160
1
原创 最全面的CentOS下hadoop的分布式搭建
在开始搭建完全分布式之前,请先确保已经掌握hadoop伪分布式的安装。因为hadoop完全分布式的安装只需在伪分布式的基础上配置三个结点即可,同时对一些配置文件稍加改进。一、本博客的集群相关配置本博客主要搭建具有三个节点的完全分布式hadoop集群,结点名称分别为hadoop1、hadoop2、hadoop3。具体信息如下:二、克隆虚拟机在搭建好伪分布式的基础,我们不需要在另外单独创建两个虚拟机,直接采用的克隆的方法创建,同时必须确保三台机器的用户名一样。这部分如果觉得比较困难的同学或者遇到
2020-10-11 21:10:21
282
原创 最全面的CentOS下hadoop的伪分布式安装
一、安装java环境在开始安装hadoop之前,要先确保机器已经安装了java环境,因为hadoop的运行依赖于java。Java安装链接二、配置ssh本机免密登陆首先输入命令ssh-keygen -t rsa回车四下,来获取密匙然后使用ssh-copy-id 用户名@本机主机名 or 本机IP地址来分发密匙三、进行hadoop伪分布式安装1、下载hadoop链接: https://pan.baidu.com/s/1uXEE6rmBVUkXeTy0ipVkfg 密码: 34ao2、解
2020-10-11 15:36:19
410
原创 最全的CentOS6.X安装JDK
1、在安装JDK之前,需要先使用命令:rpm -qa |grep jdk查看本机是否含有自带的openjdk版本.若含有则使用:rpm -e --nodeps +包名进行强制卸载因为我的虚拟机不存在jdk,所以我直接进行接下来的安装。2、首先下载一下jdk安装包,并使用tar -zxvf 包名 -C(制定安装目录) 安装目录命令进行安装jdk下载链接密码: rl0j3、配置相关的环境变量vim /etc/profileexport JAVA_HOME=/opt/module/jdk
2020-10-11 13:03:22
211
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人