自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 收藏
  • 关注

原创 win10如何进行scikit-learn模型训练+scikit-learn安装教程

sklearn安装教程方法一:下载官方.whl包sklearn是基于NumPy、SciPy和matplotlib搭建而成的,因此在安装scikit-learn之前是要先安装这几个库的。官方的下载地址链接如下。点击下载安装顺序如下:(一定要按照这个顺序下载,否则有可能报错。)NumPy+mkl库scipy库matplotlib库sklearn库踩坑1:一定要下载和本地python版本相符的whl包,否则安装必报错(别问我为什么知道的,说多了都是泪啊)。对了,因为这个是官方给出的下载链接,

2021-03-26 15:42:32 1946 3

原创 Manifold Learning Algorithm(LLE and PCA)

Manifold Learning AlgorithmManifold learning is an approach to non-linear dimensionality reduction. Algorithms for this task are based on the idea that the dimensionality of many data sets is only artificially high.High-dimensional datasets can be very d

2021-03-26 11:04:34 523 1

原创 Recurrent neural network (RNN)

What is the Recurrent Neural Network?DefinationA recurrent neural network (RNN) is a class of artificial neural network where connections between nodes form a directed graph along a temporal sequence.The sturcture of RNNA recurrent neural network compr

2021-03-25 19:27:18 373

原创 Maven项目管理+maven项目简单使用+maven如何配置本地仓库及阿里镜像仓库

什么是MavenMaven是Apache下的项目管理工具,它由纯Java语言开发,可以帮助我们更方便的管理和构建Java项目。为什么要用Mavenjar包管理:a)从Maven中央仓库获取标准的规范的jar包以及相关依赖的jar包,避免自己下载到错误的jar包;b)本地仓库统一管理jar包,使jar包与项目分离,减轻项目体积。Maven项目通过坐标的方式从本地仓库获取jar包;坐标:由公司/组织名(groupId) + 项目名/子项目名(artifactId) + 版本号(versio

2021-03-25 15:59:02 249

原创 leetcode每日一题 组合之和 使用Java实现(回溯法总结与使用)

题目要求给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的数字可以无限制重复被选取。解题思路代码实现class Solution { List<List<Integer>> all = new ArrayList<>(); List<Integer> ans = new ArrayList<>();

2020-09-10 01:08:40 309

原创 html+css初学总结整理及应用

html常用标签及元素性质基本标签<h1>-<h6>标题:必不可少的物件,数字从小到大分别对应着字体从大到小,也就是h1是最大的,理解为n级标题,一级标题大小大于二级标题等等。标题的字体大小基本上是已经决定好的,一般我们不需要修改标题的字号。<p>定义段落,一般用于书写正文,一般将该标签内置于块级元素中以方便布局。<br>换行符,话不多说。<hr>定义一条贯穿页面的水平线<form>表单标签,一边用于用户的输入并提交到后端

2020-09-08 21:14:20 111

原创 leetcode每日一题 组合问题 使用Java实现 (回溯法)

组合问题给定两个整数 n 和 k,返回 1 … n 中所有可能的 k 个数的组合。求解过程首先我们不难想到使用回溯法来实现该组合过程,并通过某种限制条件以节约查找次数,例如在10个数字中选择5个数字时,如果第二个数字已经查找到8,也就是说剩下的数字就算是全部添加也不能将5个数字填满(1,8,9,10),直接返回上一级。即如果不满足k - ans.size() < n - index + 1的情况可以直接返回。class Solution { List<List<Integ

2020-09-08 16:44:58 584

原创 leetcode每日一题 前k个高频元素 使用java实现(哈希表)

前K个高频元素给定一个非空的整数数组,返回其中出现频率前 k 高的元素。解题步骤首先我们需要获取每一个元素所对应的出现的频率,如何获取?使用键值对来实现,将元素的值设置为key,将出现的频率设置为value。遍历数组,如果存在该值,将键值对的value数值+1,也就是频率+1。实现代码:class test{ public int[] initHashMap01(int[] nums){ HashMap<Integer, Integer> map = new HashMap&l

2020-09-08 00:05:15 241 1

原创 Leetcode每日一题练习 使用java实现 判断表示数值的字符串(确定有限状态自动机)

题目要求请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100"、“5e2”、"-123"、“3.1416”、"-1E-16"、“0123"都表示数值,但"12e”、“1a3.14”、“1.2.3”、"±5"及"12e+5.4"都不是。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/biao-shi-shu-zhi-de-zi-fu-chuan-lcof著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处

2020-09-02 21:54:06 323

原创 k8s集群在离线混合部署

什么叫做在离线混合部署?首先要明确什么叫做在线任务和离线任务:在线任务需要资源相对较少,但要求响应时间短,例如web服务;离线任务则不需要对任务进行迅速响应,但是计算量相对较大、占用资源多,例如机器学习。因此我们把在线和离线项目部署在同一个集群上就叫做在离线混合部署。为什么要做在离线混合部署?举一个例子,淘宝双十一的服务量是非常高的,那么为了保证双十一当天服务器不会崩溃,需要一台计算能力足够大的服务器来支持运行,但是双十一过后,如此大的一个机器便失去了他的作用,那么就会造成资源的浪费,那么我们就要采取

2020-08-08 02:13:35 1382

原创 k8s原理+调度+Qos+优先级+抢占+资源管理(cgroup树的管理)

一、k8s的架构及工作原理基本架构1. MasterK8S中的Master是集群控制节点,负责整个集群的管理和控制,其中master节点的基本组件有:apiserver:提供了k8s各类资源对象(pod,RC,Service等)的增删改查及watch等HTTP Rest接口,是整个系统的数据总线和数据中心。controller-manager:负责对所有资源对象进行控制,通过 apiserver 监控整个集群的状态,并确保集群处于预期的工作状态。scheduler:负责资源调度的进程,通过AP

2020-08-07 23:33:12 1673

原创 docker之Cgroup和Namespace

cgroup:CGroups 全称control group,用来限定一个进程的资源使用,主要起到限制作用,由Linux 内核支持,可以限制和隔离Linux进程组 (process groups) 所使用的物理资源 ,比如cpu,内存,磁盘和网络IO,是Linux container技术的物理基础。Cgroup的具体作用如下:限制资源的使用:Cgroup可以对进程组使用的资源总额进行限制;优先级控制:通过分配CPU时间片数量及磁盘IO带宽大小,实际上就是相当于控制子进程运行的优先级。资源统计:Cg

2020-08-01 02:22:50 943

原创 k8s资源清单+控制器+service+实战项目实现

集群资源分布:主要分为三种名称级别分布只在此名称级别下生效。例如k8s本身的系统组件是放在它本身的kube-system下的,因此我们在执行kubectl get pod -n default指令时就看不见系统本身的组件。集群级别不管在什么名称空间下,我在全局查询的过程中都可以看到,也就是说我们在定义的时候不指定集群,给他赋予一个全局访问的权限。元数据型给我们提供一个指标,通过指标进行操作k8s中所有的内容都被抽象为资源,资源实例化以后,叫做对象k8s中有哪些资源名称空间级别:工

2020-08-01 01:07:53 863

原创 leetcode每日一题 使用golang和java实现 魔术索引

题目要求魔术索引。 在数组A[0…n-1]中,有所谓的魔术索引,满足条件A[i] = i。给定一个有序整数数组,编写一种方法找出魔术索引,若有的话,在数组A中找出一个魔术索引,如果没有,则返回-1。若有多个魔术索引,返回索引值最小的一个。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/magic-index-lcci著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。解体思路暴力解法在看到题目的一瞬间,我最先想到的是暴力解法

2020-07-31 23:58:28 135

原创 k8s集群测试

首先我们先来查询节点的数量和状态,master节点,node节点均运行正常。然后我们来查看一下系统级别的pod。如果出现STATUS出现不是运行状态的pod,可以从采取重启的方式来解决,如果在重启过程中出现如下问题,有可能是因为内存不足导致的,这个时候就需要扩展内存来解决了。问题解决以后,我们可以发现所有的系统pod都正常运行:这时候我们开始真正意义下执行一下k8s集群的功能:kubectl run tomcat-deployment --image=tomcat:latest --port=

2020-07-31 03:25:40 1871

原创 k8s概念理解+k8s集群安装+我在安装过程中踩过的坑

当我们在学习一门新知识的过程中首先我们要知道是什么,那么k8s是什么kubernetes我们平时所说的k8s就是上面这个又长有难读的单词,为了方便读写,首尾字母之间有8个字母,因此叫做k8s ,k8s是在容器的集群化背景下产生的,是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制。Kubernetes是Google开源的一个容器编排引擎,它支持自动化部署、

2020-07-30 18:17:42 1173

原创 docker数据卷性质

数据卷的特性Docker 镜像由多个只读层叠加而成,启动容器时,Docker 会加载只读镜像层并在镜像栈顶部添加一个读写层如果运行中的容器修改了现有的一个已经存在的文件,那么该文件将会从读写层下面的的只读层复制到读写层,该文件的只读版本仍然存在,只是已经被读写层中该文件的副本所隐藏,次即“写时复制”机制,读写层的修改不影响只读层文件的性质。数据卷的意义关闭并重启容器,其数据不受影响;但删除Docker 容器,则其改变将会全部丢失存在的问题存在于联合文件系统中,不易于宿主机访问容器间数据共

2020-07-28 20:39:30 275

原创 Docker网络通讯

Docker网络通讯我们要解决docker网络通讯,主要是解决以下三个问题:容器与容器之间进行通讯容器访问外部网络外部网络访问容器docker网络的通讯模式在通常情况下,docker使用网桥(Bridge)与NAT的通讯模式这个图代表了什么样的含义呢?对于我们本机来说,当我们安装完docker的时候,会出现一个网络环境也就是上面的host,本机会出现一个网卡也就是上图中的ETH0 10.1.1.10/8后会出现一个docker0,这相当于一个交换机,叫做网桥。在docker0 上会出

2020-07-28 15:39:24 154

原创 leetcode每日一题练习 使用Golang实现 二叉树的最大深度

题目要求给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。解题思想这里我们要使用动态规划的思想,使用递归来实现,我们无法直接求得数的深度,所以就一步一步往下递归,当我们每一次到根节点的时候,返回值为1,返回上一层返回值通过比较,选择较大的一个+1,以此类推即可得到最大的值。/** * Definition for a binary tree node. * type TreeNode struct { * Val int * Left

2020-07-28 00:46:34 160

原创 leetcode每日一题练习 使用golang实现 判断子序列

题目要求给定字符串 s 和 t ,判断 s 是否为 t 的子序列。你可以认为 s 和 t 中仅包含英文小写字母。字符串 t 可能会很长(长度 ~= 500,000),而 s 是个短字符串(长度 <=100)。字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列,而"aec"不是)。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/is-subsequ

2020-07-28 00:13:25 191

原创 docker镜像的特性

容器创建时需要指定镜像,每个镜像都由唯一的标示Image ID ,和容器的Container ID 一样,默认128 位,可以使用前16 为缩略形式,也可以使用镜像名与版本号两部分组合唯一标示,如果省略版本号,默认使用最新版本标签( latesr)镜像的分层:Docker 的镜像通过联合文件系统( union filesystem ) 将各层文件系统叠加在一起bootfs:用于系统引导的文件系统,包括bootloader 和kernel,容器启动完成后会被卸载以节省内存资源roofs:位于bootf

2020-07-27 23:28:26 426

原创 Docker实战 使用Dockerfile生成定制镜像

什么是dockerfileDockfile是一种被Docker程序解释的脚本,Dockerfile由一条条指令组成,每条指令对应Linux下面一条指令。docker程序就这些Dockerfile指令翻译成真正的Linux命令。Dockerfile有自己的书写格式和支持的命令,Docker程序解决这些命令的相互之间的依赖关系。docker程序将读取dockerfile,根据指令生成相对应的镜像。实战搭建tomcat容器根据之前讲过的,在kernel之上首先要挂在基础镜像,在这里我们选择centos作为基

2020-07-27 23:12:48 188

原创 docker-compose安装及应用

什么是docker-compose?Compose 是用于定义和运行多容器 Docker 应用程序的工具,也就是一个容器编排工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。如何下载docker-compose首先我们需要下载docker-compose,具体有两种下载方式,这两种方式各有利弊:1. 使用GitHub下载:只需要短短的两行代码,非常的简单,但是受网络的影响比较大,一般会下载很长时间,

2020-07-27 16:34:48 281

原创 Docker实战 搭建WordPress博客

WordPress运行环境需要的软件支持PHP 5.6及以上版本MySQL 5.6及以上版本Apache或者mod_rewrite板块我们都知道在阿里云ECS服务器上手动搭建一个WordPress博客系统是一个比较复杂的过程,虽然会提供相应的教程,但是如果我们在每一个计算机上运行WordPress都需要安装这么多软件,是非常不方便的,那么这时候Docker就会为我们提供一个合适的镜像已解决我们需要的LAMP环境。docker搭建WordPress在docker里搭建WordPress只需要两

2020-07-27 14:45:28 372

原创 将一个javaweb项目部署到阿里云服务器ECS

阿里云服务器ECS首先我们根据需求购买相应的服务器,由于我使用ECS主要是为了学习,加上阿里云的学生优惠,可以超级划算的购买到,并且还有云数据库RDS的一个月使用,于是我便入手了。首先在购买ECS服务器后,系统会创建一个ECS实例。每一个ECS实例对应一台已购买的云服务器。您可以通过电脑上自带的终端工具访问云服务器,进行应用部署和环境搭建。在ECS实例列表页面,选择实例的所属地域。找到目标实例,然后在操作列选择【更多】> 【密码/密钥】 > 重置实例密码,然后在弹出的对话框设置

2020-07-27 00:14:42 497

原创 Go和Java的对比学习

对象我们都知道java是一门面向对象的程序设计语言,它的主要思想就是类和对象;但是Go却不然,他并不是一门面向对象的语言,却有点和C语言相似,优点面向过程的意思。那么Go语言能不能处理关于面向对象的问题呢,答案是肯定的。Go语言可以使用结构体来构建对象类型,从而实现面向对象的程序设计。...

2020-07-25 01:09:31 1062

原创 将一个java项目上传到Linux系统 .jar文件上传到Linux并连接服务器数据库

使用工具Linux虚拟机CentOS 7 64位操作系统:mysql、jdk。Windows10操作系统:mysql、eclipse、WinSCP前期准备首先需要一个Linux CentOS7操作系统,可以通过VMware来解决,具体下载教程如果不懂的可以参考以下链接:Linux虚拟机CentOS 7 64位操作系统下载教程Linux安装mysql检查系统中是否存在mysqlrpm -qa |grep mysql如果什么都不显示则说明原本不存在mysql,则下载mysql的repo源

2020-07-24 15:28:57 2650

原创 leetcode每日一题练习 除数博弈 算法思想 穷举法

题目要求爱丽丝和鲍勃一起玩游戏,他们轮流行动。爱丽丝先手开局。最初,黑板上有一个数字 N 。在每个玩家的回合,玩家需要执行以下操作:选出任一 x,满足 0 < x < N 且 N % x == 0 。用 N - x 替换黑板上的数字 N 。如果玩家无法执行这些操作,就会输掉游戏。只有在爱丽丝在游戏中取得胜利时才返回 True,否则返回 false。假设两个玩家都以最佳状态参与游戏。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems

2020-07-24 00:49:03 170

原创 leetcode每日一题练习 使用golang和java实现 动态规划 最小路径和

题目要求给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。返回路径最小值。解题思路:动态规划这道题明显就是动态规划,因为它满足将一个大问题分成许多小问题,而且每一个小问题的结果会对最终结果产生影响。这道题属于一个正向的dp问题。首先处理(0,0)的数据,将其原封不动的放入dp数组,而且该位置相邻的两条边只有一个通路,因此直接与前一个数据相加,作为到达该点的最小路径。其他数据每个数据比较两个通路,哪一个更好一点,从而得到最优解。用golang实现

2020-07-24 00:23:33 164

原创 leetcode每日一题练习 使用golang和java实现 旋转递增数组的最小值 暴力解法和二分法

题目要求把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如,数组 [3,4,5,1,2] 为 [1,2,3,4,5] 的一个旋转,该数组的最小值为1。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/xuan-zhuan-shu-zu-de-zui-xiao-shu-zi-lcof著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。解题思想首先我们可以

2020-07-22 22:33:42 160

原创 常用的算法思想的整理 递归 动态规划 分治 贪心算法 结合leetcode相关例题

在leetcode练习也练了一段时间了,在解决问题的过程中,我们经常会用到那些算法思想呢,今天就来总结一下,我遇到的算法思想的总结递归:反复利用自身以解决问题递归就是某个函数直接或间接调用自身的问题求解过程。通过将自身问题划分成相同性质的子问题的求解过程,这些小问题的求解过程较容易,小问题的解就构成了原问题的解。递归使用的优缺点递归是在过程或函数中调用自身的过程,因此它的逻辑简单。在使用递归策略时,必须有一个明确的递归结束条件,这称为递归出口。在递归调用过程中,系统用栈来存储每一层的返回点和

2020-07-21 11:27:49 318

原创 八大数据结构类型总结及应用(下) 树 散列表 堆 图

void PreOrderTree(BiTree root)//先序遍历 { if (root != NULL) { printf("%c", root->data); PreOrderTree(root->LChild); PreOrderTree(root->RChild); }}void InOrderTree(BiTree root)//中序遍历 { if (root != NULL) { InOrderTree(root->LChild)

2020-07-21 02:43:20 771

原创 我的关于docker的理解 第一天入门docker

docker第一天学习总结,对Docker的初步了解什么是Dockerdocker包括三个部分:镜像,容器,仓库镜像容器虚拟机和容器之间有什么不同仓库Docker 的应用场景Docker的优点安装Docker什么是Dockerdocker是一个主要应用于linux和后台一些应用的虚拟机,说起虚拟机,我们会想到VMware workstation,那么他们有什么相同,又有什么不同呢,我们稍后会做比较。首先我先来谈一下我对Docker的理解。docker包括三个部分:镜像,容器,仓库他们之间的关系具体如

2020-07-19 23:15:05 145

原创 八大数据结构类型总结及应用 数组 栈 队列 链表(上)

数据结构八大类型的总结及应用数据结构八大类型的总结及应用数组概念及优缺点数组的应用栈概念应用队列概念链表概念及优缺点链表的应用及适用范围数据结构八大类型的总结及应用数组概念及优缺点数组是可以再内存中连续存储多个元素的结构,在内存中的分配也是连续的,数组中的元素通过数组下标进行访问。优点十分明显,根据数组的索引可以快速的查找元素和遍历数组。缺点表现在以下三个方面:数组的大小一般在创建的时候就已经定义好了。数组的添加某个元素,和删除某个元素的操作比较复杂,需要修改该位置后面的所有元素。数组只

2020-07-19 17:42:41 358

原创 Linux常用指令

Linux常用指令首先是cd和lscd /home //进入绝对路径下的某个目录cd .. //返回上一级目录ls //显示该目录下的文件或目录的名字ls -l //显示该目录下文件和目录的详细信息mkdir指令mkdir workplace //这里显示操作权限不够,是因为我们使用的不是root超级用户,这个时候我们需要登录超级用户su //超级用户切换指令,会让输入密码,就是root管理员的密码mkdir workpalce //当前目录下创建一个新的目录名为workplacem

2020-07-18 10:02:56 114

原创 云计算及阿里云产品

云计算与阿里云产品云计算什么是云计算云计算的特点如何理解虚拟化和分布式计算云计算的服务阿里云产品云服务器ECS简介主要特点RDS简介优点云计算什么是云计算百度百科给出的解释是这样的云计算(cloud computing)是分布式计算的一种,指的是通过网络“云”将巨大的数据计算处理程序分解成无数个小程序,然后,通过多部服务器组成的系统进行处理和分析这些小程序得到结果并返回给用户。现阶段所说的云服务已经不单单是一种分布式计算,而是分布式计算、效用计算、负载均衡、并行计算、网络存储、热备份冗杂和虚拟化等

2020-07-17 23:03:42 374

原创 VMware Workstation 15.5Pro及CentOS7下载 安装与配置Linux虚拟机 亲测 最新教程(Windows系统)

Windows系统下载linux虚拟机教程需要的工具及下载VMware Workstation 15.5Pro这个大家可以直接搜索去官网下载,这里为了方便各位小伙伴我直接把官网链接附上,大家可以通过下方链接直接下载:https://www.vmware.com/cn/products/workstation-pro/workstation-pro-evaluation.htmlVMware Workstation Pro 是将多个操作系统作为虚拟机 (VM) 在单台 Linux 或 Windo

2020-07-17 17:38:17 3826 2

原创 leetcode每日一题练习 使用golang和java实现 搜索插入位置

题目要求给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 1:输入: [1,3,5,6], 5输出: 2示例 2:输入: [1,3,5,6], 2输出: 1示例 3:输入: [1,3,5,6], 7输出: 4示例 4:输入: [1,3,5,6], 0输出: 0来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/search-

2020-07-17 00:35:01 98

原创 golang 学习文档 第一阶段学习总结

GO语言简介Go语言是一个开源的编程语言,他能让构造简单、可靠且高效的软件变得荣誉。其特点主要有以下几点:简洁、快速、安全并行、有趣、开源内存管理、数组安全、编译迅速Go语言被设计成一门应用于搭载Web服务器,存储集群或类似用途的巨型中央服务器的系统编程语言。Go语言结构Go语言的基础组成有以下几个部分:包声明引入包函数变量语句&表达式例如,每个程序都要写的“hello,world”:package mainimport "fmt"func main(){

2020-07-16 23:59:41 885

原创 leetcode每日一题 使用golang和java实现 判断二分图 深度优先搜索 广度优先搜索

题目要求给定一个无向图graph,当这个图为二分图时返回true。如果我们能将一个图的节点集合分割成两个独立的子集A和B,并使图中的每一条边的两个节点一个来自A集合,一个来自B集合,我们就将这个图称为二分图。graph将会以邻接表方式给出,graph[i]表示图中与节点i相连的所有节点。每个节点都是一个在0到graph.length-1之间的整数。这图中没有自环和平行边: graph[i] 中不存在i,并且graph[i]中没有重复的值。注意:graph 的长度范围为 [1, 100]。gra

2020-07-16 20:24:43 255

空空如也

空空如也

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

TA关注的人

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