自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(142)
  • 资源 (1)
  • 收藏
  • 关注

原创 Leetcode周赛--2021.8.22

emm,今天仍旧是垃圾的两题选手。。。前两题还看错题了,虽然没罚时,但是改代码浪费了很长时间。。。下次要更细心。第一题–5850. 找出数组的最大公约数思路扫了一眼以为是求整个数组的最大公约数,然后就是一顿操作,结果发现是求最大最小值的最大公约数。。。思路很简单,首先对数组进行排序(遍历也行,反正都是O(n)),然后找到最大值max和最小值min,从min开始,逐渐递减,直至找到max和min的公约数为止。时间复杂度O(n)O(n)O(n),排序或遍历的复杂度都是O(n)O(n)O(n),n为数

2021-08-22 15:08:09 278

转载 Leetcode--526优美的排列

emmm,原本感觉O(n!)O(n!)O(n!)的复杂度太大,会超时,就没有尝试,想了很久的dp也没啥思路,一看官方题解,O(n!)O(n!)O(n!)居然不会超时。。。在此记录一下该题,后期要加强dp和回溯的学习了,dp好难啊。。。class Solution { //回溯法 boolean vis[]; List<Integer> mask[]; int ans; public int countArrangement(int n) {

2021-08-16 11:06:07 236

原创 Leetcode周赛--2021.8.15

emmm,昨天忘记今早实验室上午断电,没带电脑回宿舍,实验室没电自然也打不开指纹锁,所以在得知断电之后,直接取消报名睡大觉zzz下午补上今早的周赛题解,emm总体还是比较简单的,前三道都挺基础的,第四道还是没看。。。第一题—5843. 作为子字符串出现在单词中的字符串数目思路判断patterns数组内的元素有多少个是字符串word的子字符串,因为求的是连续的子字符串而不是子序列,所以直接使用String自带的contains()函数即可,只要返回true就计数器加一时间复杂度O(n)O(n)

2021-08-15 19:05:51 421

原创 Leetcode---313.超级丑数

思路思路与丑数和丑数||中丑数||的思路完全一致,只不过原本的质数范围只是【2,3,5】,现在是一个最长为1000的数组,所以原本使用的三指针方法。直接转换为m指针方法就可以了。时间复杂度为O(nm)O(nm)O(nm),其中m为数组primes的长度。代码class Solution { public int nthSuperUglyNumber(int n, int[] primes) { //开始进行动态规划 int[] dp = new int[n+.

2021-08-09 10:49:08 127

原创 Leetcode--2021.8.8周赛

我又回来了,上周周赛也做了,但是因为比较忙,所以没有更新博客。这周周赛虽然简单,但仍然只做出了两题,第三题一直卡在倒数第二个测试用例,因为竞赛是不给看测试用例的具体内容的,所以一致没找到自己的错误在哪里。。第一题–5838. 检查字符串是否为数组前缀思路这一题还是非常简单的,使用words中的元素顺序拼接,当拼接字符串的长度等于s的长度时,比较两个字符串是否相等,相等则返回true,否则返回false;因为可能拼接失败——拼接字符串的长度直接大于s的长度,此时直接返回false即可。代码cla

2021-08-08 14:57:16 359

原创 Leetcode--2021.7.25周赛

emmm今天又是两题选手,第三题可以暴力,但是比赛期间没有正确实现,比赛结束后做出来了。。。第四题根本没看。以后考虑问题要更全面、细致一些,避免出现因为笔误导致的罚时????第一题–5823. 字符串转化后的各位数字之和思路这个题还是非常简单的,首先把字母转为数字,存在字符串中;然后根据k的值,将字符串的每一位依次转为int进行相加;最后返回k次转换相加后的结果;代码 public int getLucky(String s, int k) { int ans =

2021-07-25 14:15:29 180

原创 Leetcode--2021.7.18周赛

emmm这次的周赛好难呀,能ac前两题就能进行前500,我耗时有点久,排700+。。。看到矩阵和树的题我就很懵逼,下一阶段要加强这方面的学习了。前两题都是直接ac,第三题想了一会dp,结果没啥思路,第四题可以实现,但是超时了,最后也没优化出来。。下面是解题思路和代码第一题—5161. 可以输入的最大单词数思路因为是比赛,所以要尽可能的在最短的时间做出来,所以直接使用的暴力方法:把不能输入的单词存入set集合;每个输入的单词进行遍历(使用string.split(“ ”)分割每一个单词),如果s

2021-07-18 12:58:21 161 1

原创 Leetcode---1818绝对差值和

1818绝对差值和思路拿到题首先简单分析一下:因为nums1和nums2的长度都是n,而1≤n≤1051\le n \le 10^51≤n≤105,所以最多只能使用O(nlogn)O(nlogn)O(nlogn)的算法;nums1中最多只能进行一次元素替换操作,可以不进行替换。因为求的是——进行最多一次替换后的最小绝对差值和,所以若原本的绝对差值和就是0,那就不用进行替换了;如果需要替换,又因为只能替换一次,那就需要找到可以最大程度减少绝对差值和的一次替换,然后在原本的绝对值和的基础上

2021-07-14 11:51:10 137 1

原创 Leetcode--218天际线问题

今天的困难题没啥思路,在此记录一下对官方题解的理解。题目思路利用扫描线来做本题,为了优化算法的时间复杂度,使用优先队列存储当前的最大高度。算法步骤:首先是对所有建筑的边界x坐标值进行存储和排序,得到升序列表bound_x;对bound_x中的元素i开始遍历,因为buildings中的数据是按照left的值非严格递增排列的,所以每次不用循环遍历buildings中所有的元素;将left小于i的buildings[indx]对应的right和height存入优先队列p中;如果i大于等于优先

2021-07-13 12:23:21 156 1

原创 Leetcode---2021.7.11周赛

第一题思路代码在这里插入代码片第二题思路代码在这里插入代码片第三题思路代码在这里插入代码片第四题思路代码在这里插入代码片

2021-07-11 18:18:40 165

原创 信息隐写--2018年论文towards robust image steganography增强图像隐写技术的鲁棒性

towards robust image steganography增强图像隐写技术的鲁棒性挺有意思的一篇论文。总的来说,本文的方法就是首先根据正常的流程,使用JPEG隐写方法在JPEG图像中嵌入数据形成隐写图像(先把图像进行JPEG压缩,在压缩后的图像嵌入数据);然后由隐写图像,根据本文提出的系数调整方法,对未经JPEG压缩的图像的系数进行调整,得到一个所谓的"中间图像",该"中间图像"经过信道压缩(JPEG)压缩后的结果与隐写图像完全一致,因此保证了因此信息在经过JPEG有损压缩后不会丢失数据

2021-07-11 12:04:13 1635 6

原创 信息隐写--2019-a novel technique for data steganography数据隐写的新方法

除了相关工作有点用处,可以了解一下相关的研究历史,其他的基本没用。。abstract本文会介绍一种新型隐写方法,可以在任何彩色图像中隐写任何隐藏信息。这个方法的结果将会于LSB方法相对比,以证明提出的新型方法更安全。新型方法的主要特点就是利用从cover image中提取出的两个密钥对隐写信息进行处理,使得该隐写方法难以被攻破。introduce隐写技术是隐写信息的一种方法,比如把文本信息隐藏在彩色图像中,具体的流程如下图:可以通过隐写系统将隐藏信息编码到cover work中,也可以通过隐写

2021-07-06 19:47:22 411 1

原创 Leetcode---1418点菜展示表

这一题主要考察的就是数据的存储和处理,思路其实很简单思路思路很简单,需要注意的是:第一行要手动添加“Table”列名;桌子编号是升序排列;菜名是按字母序排列;其他的就按部就班的处理即可。不知道具体是什么原因,在进行排序时,我最先使用的是优先队列进行排序(用的比较少,所以想多用一用),但是都没能达到想要的结果,白给两次。。。后面换成Collections.sort()对列表进行排序才AC;算法步骤:使用Set存储菜名,使用Map存储每桌的点菜信息;每当遇到一个菜名,判断其是否在

2021-07-06 14:14:07 129

原创 信息隐写--1998年出版高被引论文--on the limits of steganography隐写技术的局限性

这篇文章中出现最多的就是“囚犯问题”这个例子,在阅读论文中,结合这个例子及其变形来理解,可以更容易理解作者想要表达的意思。全文没有一张图,一共8页。。。看了好几天才看完introduce与隐藏信息的传统加密相比,隐写技术的目的是隐藏信息的存在。隐写技术只有在存在竞争对手或攻击者时才有意义,这个攻击者可能是被动攻击、只影响通信过程的,或是一个主动进行攻击、并试图篡改内容的攻击者。一个比较有意思的例子是1586年苏格兰的玛丽女皇意图刺杀英国女皇伊丽莎白。但是玛丽女皇的密信被破解了,英国的安全警察根据被破解

2021-07-04 20:38:02 625 4

原创 Leetcode---LCP 07传递信息

思路使用DFS进行处理,因为在计算过程中可能会设计多个元素重复出现,使用Map存储不合适,使用另一个队列存储对应元素的对应step。因为最终求的是step等于k的方案数量,所以当出现第一个step大于k的元素时证明后续的元素已经不存在可行的方案了,所以直接可以break。时间复杂度为O(nk)O(n^k)O(nk)代码class Solution { public int numWays(int n, int[][] relation, int k) { int ans .

2021-07-01 11:24:02 174

原创 Leetcode--168.Excel表列名称

思路虽然是简单题,但还是挖了坑。。其余的都很容易理解,需要注意的是类似52、701这种情况。遇到这个题第一反应就是转化为26进制进行解题,但是在实际操作过程中发现,如果按照处理2进制的方法处理,遇到52、701时,对应的答案为B @(2 0)、A@Y(1 0 25),与正确答案AZ、ZY根本对应不上。造成这种问题的根本原因是对于26进制而言,每一位的表示范围是0-25,而A-Z对应的是1-26,所以需要将A-Z的映射关系进行改变,同时因为改变映射关系之后A-0,…Z-25,所以每一次的值也要减1。.

2021-06-29 10:58:57 86

原创 Leetcode--773滑动谜题

芜湖,今天的困难题也做出来了!!!和昨天一样,缓存所有的可能,然后直接查询即可,查得到返回对应的值,查不到返回-1;思路因为从状态2到状态1需要的滑动次数和从状态1到状态2需要的滑动次数相等,所以从123450开始滑动,记录所有的可能性和对应的次数,然后每次查询即可。为了方便计算,将二维数组转化为字符串进行操作。试验得出共有359种可能,最大的移动次数为21次。算法步骤:首先把数组转为字符串;因为只有0的索引在0-2才可以向下移动、在3-5才可以向上、在不为0和3才可以向左、在不为2和5才

2021-06-26 18:55:38 80

原创 Leetcode---752打开转盘锁

芜湖~又是独立做出一次AC中等题一天,虽然时间开销和空间开销大了一些????思路利用Map模拟树的生成过程,key存储结点值,value存储结点的深度,问题最终转化为求target所位于的深度。如图,根节点为0000,在不考虑deadends的影响时,除了叶子节点外,每个节点最多有8个子节点。当考虑deadends的影响时,deadends中的元素不能存在于树中,且树中也不能含有其子树。代码class Solution { public int openLock(String[]

2021-06-25 11:45:31 96 1

原创 信息隐写--1998年出版高被引论文--exploring steganography: seeing the unseen

基础知识隐写的基本知识信息隐写是一种古老的技术,因为数字技术的发展,隐写技术可以在多个领域使用隐藏信息,比如隐藏数字图像的信息。Steganography源于古希腊,字面意思是covered writing隐藏的文字,也就是将信息隐藏的通信方式,传统的隐写技术通信方式包括隐写墨水、微粒(microdots)、字符排列、数字签名、隐蔽通道、扩频通道等。隐写和加密是间谍行业的近亲——加密打乱了信息,使得难以理解原本的内容;隐写技术隐藏了信息,所以看不到原本的信息。但是密文很容易被人看出来信息被加密了,而

2021-06-24 20:36:32 654 1

原创 Leetcode---149直线上最多的点数

思路因为最多有300个点,所以最多可能存在299+298+…+1=44850条边,所以可以使用暴力方法对这些情况依次进行遍历,根据提示,可以利用HashMap保存之前的计算结果减少部分计算量。如何判断多个点是否在一个直线上?对于同一个点,如果存在n个点与其构成直线的斜率相同,则这n+1个点存在于同一条直线上;然后根据这个就可以得到代码了。最开始使用的是直接计算斜率,结果因为计算精度的问题卡在了倒数第二个测试用例上。。。只好改成了辗转相除法gcb。时间复杂度为O(n2∗log(m))O(n^2*l..

2021-06-24 13:59:18 113 2

原创 Leetcode--剑指offer 15二进制中1的个数

简单题,直接重拳出击。这个题主要涉及到java的位操作,这里记录一下三种方法。代码–内置函数使用java内置的函数进行计算,java.lang.Integer.bitCount(int n)可以返回整形变量二进制形式中1的个数。public class Solution { // you need to treat n as an unsigned value public int hammingWeight(int n) { return Integer.bitCo

2021-06-23 10:26:06 122

原创 Leetcode--剑指offer 38字符串的排列

今天的每日一题和昨天做的电话号码的字母组合都是使用回溯方法,通过做题,我也学习到了回溯法的基本模板套路,在此记录一下。剑指offer 38字符串的排列思路思路简单,就是排列组合,可以使用回溯法来模拟这个过程。需要注意的一点就是字符串s中可能存在重复的字符,因此对于类似"abcc"的输入,按照正常的排列组合会出现重复项,如abc1c2abc_1c_2abc1​c2​和abc2c1abc_2c_1abc2​c1​,但是两个看起来都是abccabccabcc,所以使用set存储来避免这种重复,其余的按照

2021-06-22 10:29:05 123

原创 Leetcode---17电话号码的字母组合

思路–暴力因为digit最长为4,所以直接进行模拟,可以得出最终的答案,时间和空间开销比较大,并且会有很多的代码–暴力class Solution { String[][] letter = new String[][]{ {"a","b","c"}, {"d","e","f"}, {"g","h","i"}, {"j","k","l"}, {"m","n","o"}, .

2021-06-21 10:29:52 92

原创 Leetcode--2021.6.20周赛

emmm,今天的周赛还是很菜,今天还是很粗心,很急躁,不知道什么时候才能彻底改掉这些毛病。今天的题其实比之前的比赛都要简单,至少看的明白,有思路,但是自己太急躁,没读懂题意就瞎写,导致在第一个题花费了大量时间,根本没时间做后面两个。。。以后要注意克服自己急躁的情绪了,最近太浮躁了。。第一题思路第一题其实非常简单,后面想明白后恨不得给自己一个大嘴巴子。。。因为判断的是字符串中最大的奇数,所以直接从字符串的右侧,一个一个的检测当前所指向的数字是否是奇数即可,其实没有那么多的花里胡哨,最开始做题的时候自己

2021-06-20 12:21:30 204

原创 Leetcode---1239串联字符串的最大长度

今天的中等题,因为数据量不大,直接暴力。。暴力yyds1239 串联字符串的最大长度思路因为字符串s中的字符是不能重复的,所以在选择时要避免出现重复字符,所以首先对arr中的单个String进行去重——把单个String中含有重复字符的先去除掉;然后在选择放到s中的String时,避免与已存在s中的字符发生重复。因为数据量不大,所以直接暴力求解:对arr中的每个String中的元素进行遍历,如果发现其中存在重复元素,之直接弃用;否则存入新的List中备用;(为了判断单个String中是否存在

2021-06-19 16:14:59 93

原创 Leetcode---483最小好进制

今天又是困难题,不会做,在看官方题解和其他人的题解终于明白了,记录一下。483最小好进制思路做题前的分析:因为n的范围为 3≤n≤10183\le n \le 10^{18}3≤n≤1018,上限远远超过1e7,所以不能使用暴力方法;因为java中的long的范围最大为 263−12^{63}-1263−1 大于 101810^{18}1018 ,所以可以使用long类型的变量转存n,方便进行计算;由题意和示例可以分析得出,最终的答案k的值范围在2≤k≤(n−1)2\le k \le

2021-06-18 15:33:14 105 1

原创 leetcode---65有效数字

距离上一次独立做出困难题已经好长时间了。。。今天虽然做出来了,但是是通过不断试错做出来的,自己考虑问题还是不够全面,以后还要加油,代码比较复杂,但思路很简单,有时间再优化以下吧。65有效数字不断的试错,不断的发现自己没考虑全面的地方。。。思路只需要注意以下各点,即可模拟检测过程:字符串内只能存在以下字符+、-、.、数字0-9、e、E;字符.、e或E最多只能出现一次(最开始我只分析出.最多只能出现一次,没理解题意e或E也是最多只能出现一次,白给一次。。);字符串中至少包含一个数字0-9;

2021-06-17 22:08:59 123 1

原创 Leetcode--2021.6.12周赛

emmm今天的我还是很菜,只能做前两道题,第三道之前没见过,没有任何头绪来解题,尝试了几种方法也不行,第四个根本不知道怎么处理。。。原本前两道题都可以一次

2021-06-12 23:58:42 1143 3

原创 Leecode---279完全平方数+1449数位成本和为目标值的最大数字

279完全平方数思路这个题和零钱兑换问题很相似,都是完全背包问题(一个物品可以使用多次),所以可以在经过少量处理后,直接借用其代码。首先计算出完全平方数的范围,并将其存入一个数组nums内,形成我们熟悉的背包问题的形式;很显然,对于输入n,其范围内完全平方数最大为(n)2({\sqrt{n}})^2(n​)2,因为n的范围在1-10000,故最多有100个互相独立的完全平方数;状态转移方程:dp[i]=Math.min(dp[i], dp[i-nums[j]]+1);代码class Sol

2021-06-12 18:03:14 171

原创 数据加密方法总结---对称加密算法(DES、3DES、AES、RC4、TEA、IDEA、Blowfish)

对称加密算法–简单可以分为对称密码和流密码未完待续,持续更新中~特点:加密方和解密方使用同一个密钥;加密解密速度较快,适合数据较长的情况下使用;密钥传输过程不安全,容易被破解,且密钥管理较为麻烦;其安全性依赖于:加密算法足够安全、密钥安全性足够高;主要加密算法:DES、3DES、AES、RC4流密码、TEA、IDEA、Blowfish等DES (Data Encryption Standard–数据加密标准)一种单一密钥对称加解密算法,通信主体之间只有一个密钥,该密钥不对第三方公开,但

2021-06-10 17:38:45 6769 3

原创 Leetcode--518零钱兑换||

做今天每日一题之前,先回顾以下零钱兑换1的解答:代码–322零钱兑换class Solution { public int coinChange(int[] coins, int amount) { int [] dp = new int[amount+1]; Arrays.fill(dp, amount+1); dp[0]=0; for (int i=1;i<=amount;i++){ for (int j=0

2021-06-10 12:49:25 139 2

原创 Leetcode---879 盈利计划+1049. 最后一块石头的重量 II+474. 一和零 动态规划背包问题专场

public int profitableSchemes(int n, int minProfit, int[] group, int[] profit) { int len = group.length; int mod = (int)1e9+7; //三维分别表示可供选择的工作数量(可选择,也就是对于某些工作可做可不做)、投入多少人(不一定全部用光)、至少可以实现多少利润(大于等于0) int[] [] [] dp = new int[l

2021-06-09 19:02:25 138

原创 Leetcode---494目标和

emmm,做题的背包问题,没做出来,今天还是背包问题,dp还是不会,但是数据量比较小,可以直接暴力求解。思路因为数组长度最大为20,数组内的每个元素只有两种可能——加或减,所以最大只有2202^{20}220次,大约100万+,远远小于1e7,因此可以直接暴力求解。因为数组内的每个元素只能进行加或减的操作,所以直接遍历所有可能情况就能求解。代码class Solution { int count; public int findTargetSumWays(int[] nums,

2021-06-07 11:12:12 55

原创 数据加密方法总结---散列函数加密(彩虹表、MD、SHA、HMAC)

1单向加密特点:雪崩效应、定长输出、不可逆;可以确保数据的完整性;主要算法:MD5(message digest algorithm)及其家族、SHA(secure hash algorithm)家族等单向散列算法就是哈希算法——将任意长度的信息压缩到某一固定长度(信息摘要)的函数(该过程不可逆)。彩虹表彩虹表不是“密码-明文”的存储。从c=hash(m)c=hash(m)c=hash(m)逆向得到原始明文有三种方法:暴力破解;字典法:提前构建一个“明文–密文”对应的大数据库,破解

2021-06-06 22:03:38 2748 1

原创 Leetcode---2021.6.6周赛

这次的周赛比上一次好了一点,A了两道题,但是也暴露了自己存在的其他问题——思考问题不够全面,比如第一题,错了3次才A,这个题并不难,就是太繁琐,每次都会出现一些小错误。。。罚时三次才通过。后面两个题没想起来,找时间补一下。第一题思路思路其实很简单,就是分四种情况遍历矩阵target,分别存在以下四种情况:顺序遍历;由下向上,由左至右;由右向左,由下向上;由上向下,由右向左;上述四种情况分别对应下图的四个方向(左、上、右、下),因此可以分别得到如下的代码:代码class Solut

2021-06-06 15:57:43 250

原创 Leetcode--160相交链表

思路–暴力–时间复杂度O(nm),原因是嵌套循环直接两个循环,找到第一个相同的位置,就返回。注意,要使用equals而不是==,因为i和j的类型是ListNode,此时的==比较的是内存地址,而equals比较的是内容。代码public ListNode getIntersectionNode(ListNode headA, ListNode headB) { for (ListNode i = headA;i!=null;i = i.next) for (.

2021-06-04 12:01:46 126 1

原创 Leetcode---523找出连续的子数组和

emmm,又是翻车的一天,以后做题要好好分析复杂度了,今天又超时了。。。思路前缀和好理解,之前已经说过很多次了,这次的重点是同余定理假设存在满足条件的区间[i,j],即(s[j]-s[i]) %k==0,也就意味着(s[j]-s[i-1]) \ k=n(n是整数),设a=s[j]%k,x=s[j] \ k,b=s[i-1]%k,y=s[i-1]\k,则s[j] = x*k + a,s[i-1] = y*k + b,如果此时a=b,意味着s[j]-s[i-1]= x*k + a-(y*k + b)=

2021-06-02 11:54:11 144

原创 Leetcode---1744你能在你最喜欢的那天吃到你最喜欢的糖果吗?

今天的每日一题理解起来比较简单,就是不知道为什么第一次提交的代码卡在了倒数第二个测试用例上。。。经过一番改进,最终还是AC了。思路根据题意可以发现,我们最终的目的是找到两个值——earlierDay和lastDay,如果对应的favoriteDay∈[earlierDay,lastDay]favoriteDay \in [earlierDay,lastDay]favoriteDay∈[earlierDay,lastDay],则是true,否则是false。问题就转换成如何找到这两个值了。对于l

2021-06-01 14:26:55 92

原创 leetcode--2012.5.30周赛

今天的每日一题很简单,就不说了。今天第一次参加周赛,结果只做出了第一题,第二题一直是超时。。第三题没看,第四题知道要使用动态规划做,但是一直没有想到合适的状态转移。总的来说只有第一题一次就A了,其余都失败了,再次补充、记录以下此次周赛的题目和解法。第一题思路这个题很简单,就是把字符串转为int即可。因为做题时考虑到做题速度,所以直接cv了,想要代码好看的话,可以写一个函数处理重复的操作,如第二个代码。代码class Solution { public boolean isSumEqual

2021-05-30 18:13:58 266

原创 Leetcode----304二维区域和检索+1074元素和为目标值的子矩阵数量

做今天每日一题之前,先做一下下面的题熟悉/回顾以下前缀和的相关知识。304二维区域和检索思路其余的详见代码,这里介绍以下怎么计算前缀和、怎么计算子区域的和。因为前缀和的计算就是计算索引(0,0)到当前索引位置(i,j)所框出的区域的元素和,所以前缀和的计算可以通过m[i][j] = m[i-1][j]+m[i][j-1]-m[i-1][j-1] + matrix[i-1][j-1];如要计算绿色框内的元素和,可以通过黄色+灰色区域和绿色+灰色区域,还有红色区域的值得到,因为黄色+灰色区域和绿色+

2021-05-29 17:19:48 71

javaee 连接浏览器

javaee 连接浏览器javaee 连接浏览器javaee 连接浏览器javaee 连接浏览器

2018-04-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除