53.最大子数组和-力扣(LeetCode)方法:动态规划练了好久的动态规划,终于会写了解法一:暴力求解第一次是这样写的,但是超时了,当个思路看publicstaticvoidmaxSubArray1(int[]nums){intmax=Integer.MIN_VALUE;intlen=nums.length;for(inti=0;i
补题蓝桥杯14届JavaB组第4题
大萌神Nagato
蓝桥杯
算法:动态规划需要两个一维数组来进行dp一个用来记录到当前位置的最短时间,另一个用来记录到达当前位置传送门的最短时间到达传送门的时间需要进行判断,如果上一次传送到达传送门,需要判断上一次传送到这的位置在当前传送门的上方,还是下方publicclassMain{publicstaticvoidmain(String[]args){Scannersc=newScanner(System.in);int
数据结构与算法:动态规划dp:子序列相关力扣题(上):300. 最长递增子序列、674.最长连续递增序列
shanshandeisu
数据结构与算法LeetCode动态规划leetcode算法子序列力扣dp数据结构
300.最长递增子序列classSolution:deflengthOfLIS(self,nums:List[int])->int:length=len(nums)iflength==1:return1#dp[i]指的是以nums[i]为结尾的最长递增子序列的长度。dp=[1]*lengthmmax=1foriinrange(1,length):forjinrange(i):ifnums[i]>n
leetcode刷题-动态规划09
emmmmXxxy
leetcode动态规划算法
代码随想录动态规划part09|188.买卖股票的最佳时机IV、309.最佳买卖股票时机含冷冻期、714.买卖股票的最佳时机含手续费、股票总结188.买卖股票的最佳时机IV309.最佳买卖股票时机含冷冻期714.买卖股票的最佳时机含手续费股票总结188.买卖股票的最佳时机IVleetcode题目链接代码随想录文档讲解思路:123题最多可以买卖两次(dp数组的维度为[len(prices),5]),
leetcode刷题-动态规划06
emmmmXxxy
leetcode动态规划算法
代码随想录动态规划part06|322.零钱兑换、279.完全平方数、139.单词拆分322.零钱兑换279.完全平方数139.单词拆分关于多重背包,你该了解这些!背包问题总结篇!322.零钱兑换leetcode题目链接代码随想录文档讲解思路:完全背包整理:完全背包理论基础:装满这个背包可得的最大价值(遍历顺序可以颠倒)零钱兑换2:装满背包有多少种方法(每种方法不强调顺序,组合数)(先遍历物品再遍
动态规划之线性DP-安全序列
小丽今天学代码了吗
动态规划算法
问题描述小蓝是工厂里的安全工程师,他负责安放工厂里的危险品。工厂是一条直线,直线上有n个空位,小蓝需要将若干个油桶放置在n个空位上,每2个油桶中间至少需要k个空位隔开,现在小蓝想知道有多少种放置油桶的方案,你可以编写一个程序帮助他吗?由于这个结果很大,你的输出结果需要对取模。输入格式第一行包含两个正整数n,k,分别表示n个空位与k个隔开的空位。输出格式输出共1行,包含1个整数,表示放置的方案数对取
代码随想录 Day 37 | 【第九章 动态规划part 01】理论基础、509. 斐波那契数、70. 爬楼梯、746. 使用最小花费爬楼梯
Accept17
动态规划算法
一、理论基础理论基础无论大家之前对动态规划学到什么程度,一定要先看我讲的动态规划理论基础。如果没做过动态规划的题目,看我讲的理论基础,会有感觉是不是简单题想复杂了?其实并没有,我讲的理论基础内容,在动规章节所有题目都有运用,所以很重要!如果做过动态规划题目的录友,看我的理论基础就会感同身受了。代码随想录视频:从此再也不怕动态规划了,动态规划解题方法论大曝光!|理论基础|力扣刷题总结|动态规划入门_
【超详细】动态规划子序列问题总结
周玄九
动态规划算法
子序列就是在一个数组中按顺序挑选若干数,子数组是连续的子序列,视为特殊的子序列问题子序列最长递增子序列300.最长递增子序列-力扣(LeetCode)https://leetcode.cn/problems/longest-increasing-subsequence/description/dp[i]表示以第i个数为结尾的,前i个数中最长严格递增子序列的长度。递推得遍历之前所有的位置,并且满足第
两天速通力扣HOT100[DAY2] (55~100)
WynnLu
算法leetcodec++
两天速通力扣HOT100[DAY2](55~100)本题解旨在以最简单的语言总结hot100各题思路,为每一题提供一个思考入口,但想要手撕出来,需要自己认真推理细节。目录回溯55~62二分查找63~68栈69~73堆74~76贪心77~80动态规划81~90多维动态规划91~95技巧96~10055、全排列思路回溯基本思想:DFS+状态还原面对前方n种选择的时候,循环选择其中一种,做出对应的改变并
力扣——完全平方数
WLKQ
力扣leetcode算法职场和发展
题目链接:链接题目描述:思路:用动态规划,设iii的最少数量是dp(i)dp(i)dp(i),最多数量是iii,如1+1+…+1则dp(i)=min{i,dp(i−j∗j)+1}dp(i)=min\{i,dp(i-j*j)+1\}dp(i)=min{i,dp(i−j∗j)+1}这里为什么是dp(i−j∗j)+1dp(i-j*j)+1dp(i−j∗j)+1,因为要得到iii减去一个平方数后的最小组成
CSP-J/S复赛算法 动态规划初步
人才程序员
CSP-J算法动态规划深度优先c++noiCSP-J/S
文章目录前言动态规划动态规划常见形式动态规划求最值的几个例子1.**背包问题**2.**最短路径问题**3.**最小硬币找零问题**4.**最长递增子序列**总结最优子结构举个简单的例子其他例子条件DP的核心就是穷举具体解释递归的算法时间复杂度dp数组的迭代解法通俗易懂的解释比喻状态转移方程详解状态转移方程中的状态概念通俗易懂的解释:举个例子:状态总结:DP的无后效性通俗易懂的解释举个例子特点总结
Java 算法和数据结构 答案整理,最新面试题
扫地僧009
互联网大厂面试题java算法数据结构
Java中如何使用动态规划求解背包问题?1、定义子问题:首先确定动态规划状态,通常以物品数量和背包容量为变量定义子问题,例如dp[i][j]表示前i件物品放入容量为j的背包所能获得的最大价值。2、确定状态转移方程:基于是否选择当前物品,将问题分为两个子问题,即dp[i][j]=max(dp[i-1][j],dp[i-1][j-weight[i]]+value[i]),表示选择当前物品和不选择当前物
T4应用增效方案解密
智能计算研究中心
其他
内容概要T4技术作为新一代智能增效解决方案,其核心价值在于通过算法驱动的流程重构,实现企业运营效率的指数级提升。该方案采用模块化架构设计,涵盖数据采集层、算法决策层与执行优化层三大子系统,形成从数据感知到行动反馈的闭环管理体系。在应用场景方面,目前已验证制造业设备协同调度、物流路径动态规划、能源消耗实时优化等六大典型场景的有效性。研究数据显示,某汽车零部件制造商通过部署T4方案,在12个月内实现单
背包问题-动态规划算法(附带Python代码解析)
心碎小猫p
算法动态规划python
一.背包问题概述:给定n种物品和一个容量为capacity的背包,其中每一个物品的重量和价值已知。问:应该如何选择装入背包的物品,使得装入背包中的物品的总价值最大?二.分析过程:1.思路:对于每一个物品只有两种选择,第一种情况:装入当前物品;第二种情况:不装入当前物品。我们从第一个物品开始,将其重量和背包容量进行比较,如果比背包容量小,则选择将这个物品装入背包,记录它的价值(如果比背包容量大,忽略
Leetcode每日一题——337. 打家劫舍 III。递归四部曲,动态规划
翔空中,策人生
动态规划递归leetcode动态规划算法python
题目链接:力扣题目描述:小偷又发现了一个新的可行窃的地区。这个地区只有一个入口,我们称之为root。除了root之外,每栋房子有且只有一个“父“房子与之相连。一番侦察之后,聪明的小偷意识到“这个地方的所有房屋的排列类似于一棵二叉树”。如果两个直接相连的房子在同一天晚上被打劫,房屋将自动报警。给定二叉树的root。返回在不触动警报的情况下,小偷能够盗取的最高金额。提示:树的节点数在[1,104]范围
每日一题——打家劫舍
tt555555555555
面经算法题C语言算法数据结构c语言leetcode
打家劫舍(一)与打家劫舍(二)动态规划解法详解打家劫舍(一)问题描述示例解题思路动态规划代码实现复杂度分析打家劫舍(二)问题描述示例解题思路环形问题的拆分代码实现复杂度分析总结打家劫舍(一)问题描述你是一个经验丰富的小偷,准备偷沿街的一排房间,每个房间都存有一定的现金。不能偷相邻的两家。给定一个整数数组nums,数组中的元素表示每个房间存有的现金数额,计算在不被发现的前提下最多的偷窃金额。数据范围
[特殊字符] LeetCode 62. 不同路径 | 动态规划+递归优化详解
gentle_ice
leetcode动态规划算法数据结构
在解LeetCode的过程中,路径计数问题是动态规划中一个经典的例子。今天我来分享一道非常基础但极具代表性的题目——不同路径。不仅适合初学者入门DP(动态规划),还能帮助你打下递归思维的基础。本文将介绍:问题描述解题思路(包括递归+记忆化搜索)代码实现与优化时间复杂度&空间复杂度分析进阶思考问题描述一个机器人位于一个mxn的网格左上角(起点Start)。机器人每次只能向右或下移动一步,试图到达网格
Hot100 动态规划
Coco_9264
动态规划算法
动态规划动规五部曲:确定dp数组以及下标的含义确定递推公式dp数组如何初始化确定遍历顺序举例推导dp数组70.爬楼梯-力扣(LeetCode)爬到第一层楼梯有一种方法,爬到二层楼梯有两种方法。那么第一层楼梯再跨两步就到第三层,第二层楼梯再跨一步就到第三层。所以到第三层楼梯的状态可以由第二层楼梯和到第一层楼梯状态推导出来,那么就可以想到动态规划了。我们来分析一下,动规五部曲:定义一个一维数组来记录不
LeetCode Hot100刷题——最小路径和(动态规划)
圈圈编码
leetcode算法职场和发展动态规划java
64.最小路径和给定一个包含非负整数的mxn网格grid,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。示例1:输入:grid=[[1,3,1],[1,5,1],[4,2,1]]输出:7解释:因为路径1→3→1→1→1的总和最小。示例2:输入:grid=[[1,2,3],[4,5,6]]输出:12提示:m==grid.lengthn==grid[
【Day38 LeetCode】动态规划DP 子序列问题Ⅱ
银河梦想家
leetcode动态规划算法
一、动态规划DP子序列问题Ⅱ1、最长公共子序列1143确定dp数组含义,dp[i][j]表示长度为[0,i-1]的字符串text1与长度为[0,j-1]的字符串text2的最长公共子序列的长度。dp转移关系,对于当前值dp[i][j],分为text1[i-1]与text2[j-1]相同与不相同两种情况。text1[i-1]与text2[j-1]相同时,这两个字符可以作为最长公共子序列的一部分,dp
图论 之 弗洛伊德算法求解全源最短路径
JNU freshman
算法蓝桥杯图论算法
文章目录题目1334.阈值距离内邻居最少的城市Floyd算法适合用于求解多源的最短路径的问题,相比之下,Dijkstra算法适合用于求解单源的最短路径的问题,并且,当边的权值只有1的时候,我们还能使用BFS求解最短路径的问题图论之BFS图论之迪斯科特拉算法求解最短路径灵神讲解Floyd算法可以从递归中得到,相对应的,我们也有使用记忆化搜索和动态规划进行求解递归方式的模版@cachedefdfs(k
动态规划LeetCode-494.目标和
欧了111
动态规划动态规划leetcode算法c语言01背包
给你一个非负整数数组nums和一个整数target。向数组中的每个整数前添加'+'或'-',然后串联起所有整数,可以构造一个表达式:例如,nums=[2,1],可以在2之前添加'+',在1之前添加'-',然后串联起来得到表达式"+2-1"。返回可以通过上述方法构造的、运算结果等于target的不同表达式的数目。示例1:输入:nums=[1,1,1,1,1],target=3输出:5解释:一共有5种
动态规划(Dynamic Programming)详解
程序猿000001号
动态规划算法
动态规划(DynamicProgramming)详解目录动态规划简介动态规划核心思想动态规划问题的基本要素动态规划应用步骤经典动态规划问题解析动态规划优化技巧实际应用案例动态规划的优缺点总结与学习资源1.动态规划简介动态规划(DynamicProgramming,DP)是一种解决复杂问题的算法设计范式,通过将原问题分解为相对简单的子问题,并利用子问题之间的关系,避免重复计算,最终高效求解全局最优子
基于动态规划与0-1整数规划模型的多阶段生产决策问题研究
NovakG_
数据挖掘动态规划数学建模算法
摘要随着市场竞争的日益激烈,企业将以产品质量作为其发展战略重心,以适应激烈的市场竞争与不断变化的用户需求。本文针对某畅销电子产品生产过程中的决策问题,应用统计学中单边检验、二项分布与正态分布的方法,以最小化产品生产成本为目标,建立了动态规划与0-1整数规划模型。通过数学建模与模拟,为企业的生产提供了科学有效的生产决策依据,降低生产成本并优化资源配置。针对问题一,主要解决两个问题:一是需要设计一个最
多线程编程之存钱与取钱
周凡杨
javathread多线程存钱取钱
生活费问题是这样的:学生每月都需要生活费,家长一次预存一段时间的生活费,家长和学生使用统一的一个帐号,在学生每次取帐号中一部分钱,直到帐号中没钱时 通知家长存钱,而家长看到帐户还有钱则不存钱,直到帐户没钱时才存钱。
问题分析:首先问题中有三个实体,学生、家长、银行账户,所以设计程序时就要设计三个类。其中银行账户只有一个,学生和家长操作的是同一个银行账户,学生的行为是
java中数组与List相互转换的方法
征客丶
JavaScriptjavajsonp
1.List转换成为数组。(这里的List是实体是ArrayList)
调用ArrayList的toArray方法。
toArray
public T[] toArray(T[] a)返回一个按照正确的顺序包含此列表中所有元素的数组;返回数组的运行时类型就是指定数组的运行时类型。如果列表能放入指定的数组,则返回放入此列表元素的数组。否则,将根据指定数组的运行时类型和此列表的大小分
Shell 流程控制
daizj
流程控制if elsewhilecaseshell
Shell 流程控制
和Java、PHP等语言不一样,sh的流程控制不可为空,如(以下为PHP流程控制写法):
<?php
if(isset($_GET["q"])){
search(q);}else{// 不做任何事情}
在sh/bash里可不能这么写,如果else分支没有语句执行,就不要写这个else,就像这样 if else if
if 语句语
Linux服务器新手操作之二
周凡杨
Linux 简单 操作
1.利用关键字搜寻Man Pages man -k keyword 其中-k 是选项,keyword是要搜寻的关键字 如果现在想使用whoami命令,但是只记住了前3个字符who,就可以使用 man -k who来搜寻关键字who的man命令 [haself@HA5-DZ26 ~]$ man -k
socket聊天室之服务器搭建
朱辉辉33
socket
因为我们做的是聊天室,所以会有多个客户端,每个客户端我们用一个线程去实现,通过搭建一个服务器来实现从每个客户端来读取信息和发送信息。
我们先写客户端的线程。
public class ChatSocket extends Thread{
Socket socket;
public ChatSocket(Socket socket){
this.sock
利用finereport建设保险公司决策分析系统的思路和方法
老A不折腾
finereport金融保险分析系统报表系统项目开发
决策分析系统呈现的是数据页面,也就是俗称的报表,报表与报表间、数据与数据间都按照一定的逻辑设定,是业务人员查看、分析数据的平台,更是辅助领导们运营决策的平台。底层数据决定上层分析,所以建设决策分析系统一般包括数据层处理(数据仓库建设)。
项目背景介绍
通常,保险公司信息化程度很高,基本上都有业务处理系统(像集团业务处理系统、老业务处理系统、个人代理人系统等)、数据服务系统(通过
始终要页面在ifream的最顶层
林鹤霄
index.jsp中有ifream,但是session消失后要让login.jsp始终显示到ifream的最顶层。。。始终没搞定,后来反复琢磨之后,得到了解决办法,在这儿给大家分享下。。
index.jsp--->主要是加了颜色的那一句
<html>
<iframe name="top" ></iframe>
<ifram
MySQL binlog恢复数据
aigo
mysql
1,先确保my.ini已经配置了binlog:
# binlog
log_bin = D:/mysql-5.6.21-winx64/log/binlog/mysql-bin.log
log_bin_index = D:/mysql-5.6.21-winx64/log/binlog/mysql-bin.index
log_error = D:/mysql-5.6.21-win
OCX打成CBA包并实现自动安装与自动升级
alxw4616
ocxcab
近来手上有个项目,需要使用ocx控件
(ocx是什么?
http://baike.baidu.com/view/393671.htm)
在生产过程中我遇到了如下问题.
1. 如何让 ocx 自动安装?
a) 如何签名?
b) 如何打包?
c) 如何安装到指定目录?
2.
Hashmap队列和PriorityQueue队列的应用
百合不是茶
Hashmap队列PriorityQueue队列
HashMap队列已经是学过了的,但是最近在用的时候不是很熟悉,刚刚重新看以一次,
HashMap是K,v键 ,值
put()添加元素
//下面试HashMap去掉重复的
package com.hashMapandPriorityQueue;
import java.util.H
JDK1.5 returnvalue实例
bijian1013
javathreadjava多线程returnvalue
Callable接口:
返回结果并且可能抛出异常的任务。实现者定义了一个不带任何参数的叫做 call 的方法。
Callable 接口类似于 Runnable,两者都是为那些其实例可能被另一个线程执行的类设计的。但是 Runnable 不会返回结果,并且无法抛出经过检查的异常。
ExecutorService接口方
angularjs指令中动态编译的方法(适用于有异步请求的情况) 内嵌指令无效
bijian1013
JavaScriptAngularJS
在directive的link中有一个$http请求,当请求完成后根据返回的值动态做element.append('......');这个操作,能显示没问题,可问题是我动态组的HTML里面有ng-click,发现显示出来的内容根本不执行ng-click绑定的方法!
 
【Java范型二】Java范型详解之extend限定范型参数的类型
bit1129
extend
在第一篇中,定义范型类时,使用如下的方式:
public class Generics<M, S, N> {
//M,S,N是范型参数
}
这种方式定义的范型类有两个基本的问题:
1. 范型参数定义的实例字段,如private M m = null;由于M的类型在运行时才能确定,那么我们在类的方法中,无法使用m,这跟定义pri
【HBase十三】HBase知识点总结
bit1129
hbase
1. 数据从MemStore flush到磁盘的触发条件有哪些?
a.显式调用flush,比如flush 'mytable'
b.MemStore中的数据容量超过flush的指定容量,hbase.hregion.memstore.flush.size,默认值是64M 2. Region的构成是怎么样?
1个Region由若干个Store组成
服务器被DDOS攻击防御的SHELL脚本
ronin47
mkdir /root/bin
vi /root/bin/dropip.sh
#!/bin/bash/bin/netstat -na|grep ESTABLISHED|awk ‘{print $5}’|awk -F:‘{print $1}’|sort|uniq -c|sort -rn|head -10|grep -v -E ’192.168|127.0′|awk ‘{if($2!=null&a
java程序员生存手册-craps 游戏-一个简单的游戏
bylijinnan
java
import java.util.Random;
public class CrapsGame {
/**
*
*一个简单的赌*博游戏,游戏规则如下:
*玩家掷两个骰子,点数为1到6,如果第一次点数和为7或11,则玩家胜,
*如果点数和为2、3或12,则玩家输,
*如果和为其它点数,则记录第一次的点数和,然后继续掷骰,直至点数和等于第一次掷出的点
TOMCAT启动提示NB: JAVA_HOME should point to a JDK not a JRE解决
开窍的石头
JAVA_HOME
当tomcat是解压的时候,用eclipse启动正常,点击startup.bat的时候启动报错;
报错如下:
The JAVA_HOME environment variable is not defined correctly
This environment variable is needed to run this program
NB: JAVA_HOME shou
[操作系统内核]操作系统与互联网
comsci
操作系统
我首先申明:我这里所说的问题并不是针对哪个厂商的,仅仅是描述我对操作系统技术的一些看法
操作系统是一种与硬件层关系非常密切的系统软件,按理说,这种系统软件应该是由设计CPU和硬件板卡的厂商开发的,和软件公司没有直接的关系,也就是说,操作系统应该由做硬件的厂商来设计和开发
富文本框ckeditor_4.4.7 文本框的简单使用 支持IE11
cuityang
富文本框
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>知识库内容编辑</tit
Property null not found
darrenzhu
datagridFlexAdvancedpropery null
When you got error message like "Property null not found ***", try to fix it by the following way:
1)if you are using AdvancedDatagrid, make sure you only update the data in the data prov
MySQl数据库字符串替换函数使用
dcj3sjt126com
mysql函数替换
需求:需要将数据表中一个字段的值里面的所有的 . 替换成 _
原来的数据是 site.title site.keywords ....
替换后要为 site_title site_keywords
使用的SQL语句如下:
updat
mac上终端起动MySQL的方法
dcj3sjt126com
mysqlmac
首先去官网下载: http://www.mysql.com/downloads/
我下载了5.6.11的dmg然后安装,安装完成之后..如果要用终端去玩SQL.那么一开始要输入很长的:/usr/local/mysql/bin/mysql
这不方便啊,好想像windows下的cmd里面一样输入mysql -uroot -p1这样...上网查了下..可以实现滴.
打开终端,输入:
1
Gson使用一(Gson)
eksliang
jsongson
转载请出自出处:http://eksliang.iteye.com/blog/2175401 一.概述
从结构上看Json,所有的数据(data)最终都可以分解成三种类型:
第一种类型是标量(scalar),也就是一个单独的字符串(string)或数字(numbers),比如"ickes"这个字符串。
第二种类型是序列(sequence),又叫做数组(array)
android点滴4
gundumw100
android
Android 47个小知识
http://www.open-open.com/lib/view/open1422676091314.html
Android实用代码七段(一)
http://www.cnblogs.com/over140/archive/2012/09/26/2611999.html
http://www.cnblogs.com/over140/arch
JavaWeb之JSP基本语法
ihuning
javaweb
目录
JSP模版元素
JSP表达式
JSP脚本片断
EL表达式
JSP注释
特殊字符序列的转义处理
如何查找JSP页面中的错误
JSP模版元素
JSP页面中的静态HTML内容称之为JSP模版元素,在静态的HTML内容之中可以嵌套JSP
App Extension编程指南(iOS8/OS X v10.10)中文版
啸笑天
ext
当iOS 8.0和OS X v10.10发布后,一个全新的概念出现在我们眼前,那就是应用扩展。顾名思义,应用扩展允许开发者扩展应用的自定义功能和内容,能够让用户在使用其他app时使用该项功能。你可以开发一个应用扩展来执行某些特定的任务,用户使用该扩展后就可以在多个上下文环境中执行该任务。比如说,你提供了一个能让用户把内容分
SQLServer实现无限级树结构
macroli
oraclesqlSQL Server
表结构如下:
数据库id path titlesort 排序 1 0 首页 0 2 0,1 新闻 1 3 0,2 JAVA 2 4 0,3 JSP 3 5 0,2,3 业界动态 2 6 0,2,3 国内新闻 1
创建一个存储过程来实现,如果要在页面上使用可以设置一个返回变量将至传过去
create procedure test
as
begin
decla
Css居中div,Css居中img,Css居中文本,Css垂直居中div
qiaolevip
众观千象学习永无止境每天进步一点点css
/**********Css居中Div**********/
div.center {
width: 100px;
margin: 0 auto;
}
/**********Css居中img**********/
img.center {
display: block;
margin-left: auto;
margin-right: auto;
}
Oracle 常用操作(实用)
吃猫的鱼
oracle
SQL>select text from all_source where owner=user and name=upper('&plsql_name');
SQL>select * from user_ind_columns where index_name=upper('&index_name'); 将表记录恢复到指定时间段以前
iOS中使用RSA对数据进行加密解密
witcheryne
iosrsaiPhoneobjective c
RSA算法是一种非对称加密算法,常被用于加密数据传输.如果配合上数字摘要算法, 也可以用于文件签名.
本文将讨论如何在iOS中使用RSA传输加密数据. 本文环境
mac os
openssl-1.0.1j, openssl需要使用1.x版本, 推荐使用[homebrew](http://brew.sh/)安装.
Java 8
RSA基本原理
RS