自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 用labelme制作voc数据集格式

我们先来看看voc数据集是什么样子的:其中:Annotations里面是图像对应的XML标注信息描述,每张图像有一个与之对应同名的描述XML文件,XML前面部分声明图像数据来源,大小等元信息。举例如下:上面表示图像对应路径为VOC2012/JPEGImages/2007_000033.jpg,来自flickr网站上,大小为WxHxC=500x366x3,是三通道的彩色图像,其中segmented为1有分割标注,0表示没有分割标注。后面的是对象检测的每个BOX标签信息极其描述信息,图示如下:其中

2021-04-01 11:10:56 3483 3

原创 Android Studio导入他人项目出现问题的解决方法(傻瓜教程)

这个学期学了基于Android Stuidio开发环境的移动应用开发,因为是网课,很多东西不能和老师直接沟通,所以我选择了听课加上看源代码,但是当我导入教材配套的代码的时候,我发现 一直出现红色感叹号,接下来是我的解决方法:我现在要在我自己的机子上打开MenuDemo这个项目第一步:把下图中红色圈住的部分删掉第二步:查看自己的gradle版本号:也就是找一个以前能够在你机子上运行的项目,...

2020-03-09 12:53:03 16088 8

原创 力扣刷题之 数组

前言从2021年9月28开始正式刷的题,到今天也有10天了,我的任务不多,就是一天3道题,所以说到今天正好30道题,全部都是数组题,是根据这篇博客来进行刷题练习的。写这篇博客的目的就是,将前10天这30道数组题有一个很好的归纳与分析,也算是自己的一遍复习。数组题目分类1.数组的遍历数组的遍历对应题目编号:485 、495 、 414 、628485. 最大连续 1 的个数给定一个二进制数组, 计算其中最大连续 1 的个数。方法:一次遍历为了得到数组中最大连续1的个数,需要遍历数组,无

2021-10-07 17:05:44 864

原创 NLP入门学习(一):搜狗新闻语料库的获取与预处理

前言今天是2021年10月6日,从9月份开学好像一直什么都没有学习,可能也只有每天刷点力扣题了吧,一天当中很多的时间都浪费了,本来想的是平平淡淡的过完研究生的生活,但好像发现如果一开始的目标就很低的话,那很可能这个目标完成不了,所以说我的目标就是成为优秀毕业生顺利毕业,与此同时希望自己能找到一个好工作。那么从现在开始,我不仅仅要每天刷力扣题,而且还要准备论文和项目了,java方面的我是不太可能了,因为对此没有一点兴趣,所以还是选择python吧,计算机视觉方面的不管是图像识别、图像分割等等相对来说都是比

2021-10-06 20:47:59 5182

原创 关于二分查找

转来自己学习

2021-08-25 14:35:15 192

原创 每天6道题之第31题:有效的井字游戏

前言解题思路及代码#include<iostream>#include<vector>#include<string>using namespace std;//分析题目// 因为所有的玩家轮流放棋,所以X的数量一定大于等于0的数量//获胜的玩家一定是自己在放棋后赢得比赛 一共有三种情况 // (1) 如果第一个玩家获胜,则X的数量大于0的数量// (2) 如果第二个玩家获胜,则X的数量等于0的数量// (3)游戏板上不可能同时出现3个X在一

2021-08-20 09:30:08 144

原创 每天6道题之第27题:翻转矩阵后的得分

前言解题思路及代码//思路://一个二进制数,只有最高位为1时才能取得最大值。//因此我们先翻转每行第一个元素为0的行,这样循环下来,第一列都为1//此时res = (1<<n-1)*m,这是第一列m个1的二进制和//接下来我们翻转剩余的n-1列,这里我们只要算出每列中0的个数和1的个数,得到cnt = max(0的个数,1的个数),则第j列cnt个1的二进制之和为(1<<(n-1-j))*cnt#include<iostream>#include

2021-08-18 14:36:21 113

原创 每天6道题之第七十一题:课程表(图)

前言这两天先不刷之前的题,先把18号要考试的题做一下。题目描述你必须选修 numCourse 门课程,记为 0 到 numCourse-1 。 在选修某些课程之前需要一些先修课程。 例如,想要学习课程0 ,你需要先完成课程 1 ,我们用一个匹配来表示他们:[0,1] 给定课程总量以及它们的先决条件,请你判断是否可能完成所有课程的学习?题目解析本题是一道经典的【拓扑排序】问题。首先,我们来了解一下什么是拓扑排序:在一个有向图中,对所有的节点进行排序,要求没有一个节点指向它前面的节点。

2021-08-16 13:33:58 137

原创 每天6道题之第24题:去除重复字母

前言今天下午最后一道题,写完睡觉…题目描述给你一个仅包含小写字母的字符串,请你去除字符串中重复的字母,使得每个字母只出现一次。需保证返回结果的字典序最小(要求不能打乱其他字符的相对位置)。解题思路我们以示例1来想一想思路:示例 1:输入: “bcabc”输出: “abc”如果当前字母是b,好,先保存下来,然后是c,此时c的字典序在b后面,好,c也可以保存下来,后面又遇见了a,此时a的字典序比较靠前,那我们只有看a后面的元素中还有没有b或者c了,如果有,那就要删除前面的重复元素,因

2021-08-14 17:01:53 251

原创 每天6道题之第二十二题:救生艇(贪心算法+双指针)

前言题目描述第 i 个人的体重为 people[i],每艘船可以承载的最大重量为 limit。 每艘船最多可同时载两人,但条件是这些人的重量之和最多为limit。 返回载到每一个人所需的最小船数。(保证每个人都能被船载)。解题思路如果最重的人和最轻的人可以共用一艘船,那么就这样安排,否则,最重的人无法与任何人配对,那么他们将自己独自乘坐一艘船。(1)令people[i]指向当前最轻的人,而people[j]指向最重的那位。(2)如果此时people[i]+people[j]<=li

2021-08-14 14:54:08 286

原创 每天6道题之第二十二题:买卖股票的最佳时机(贪心算法)

前言题目描述给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0 。解题思路这道题用贪心算法会比较简单,贪心算法是找出一个个局部最优解,那么通过这些局部最优解再得到全局最优解。我们注意到题目有这样一句话:你必须在再次购买前出售掉之前的股票,也就是说每

2021-08-14 14:24:29 153

原创 每天6道题之第二十一题:有序矩阵中的第k个最小数组和

待写…

2021-08-14 14:00:30 159 1

原创 每天6道题之第二十题:接雨水2(堆)

前言题目描述给你一个 m x n 的矩阵,其中的值均为非负整数,代表二维高度图每个单元的高度,请计算图中形状最多能接多少体积的雨水。呜呜呜 有一维的接雨水还不够,还来了一个二维的…解题思路看这个吧 把每一个元素称作块。因为那个图片给的好像瓷砖啊。其实做这题一开始都是想的是对于每一个块,去找它四个方向最高的高度中的最小值(二维下则是左右最高的高度取较小的那一个)作为上界,当前块作为下界但是这4个方向每次遍历复杂度过高,且不能像二维那样去提前预存每个方向的最大值那可以反过来我不以每个

2021-08-13 21:05:51 154

原创 每天6道题之第十九题:查找和最小的K对数字(堆)

前言题目描述给定两个以升序排列的整形数组 nums1 和 nums2, 以及一个整数 k。定义一对值 (u,v),其中第一个元素来自 nums1,第二个元素来自 nums2。找到和最小的 k 对数字 (u1,v1), (u2,v2) … (uk,vk),按从小到大的顺序输出它们的和。解题思路其实我们要有一个先验知识,就是,遇见K问题的时候,要想到优先队列,包括大顶堆和小顶堆;回顾:像我们上一题中“前K个高频元素”,我们创建小顶堆,将前K个高频的元素都入堆,当新元素来临时,只要比较堆

2021-08-13 20:27:35 155

原创 每天6道题之第十八题:前K个高频元素(堆)

前言题目描述给定一个非空的整数数组,返回其中出现频度前K高的元素题目解析首先这道题很容易理解,就是说你要找到一种方法,来统计给定数组中出现的元素以及其出现的频度,然后返回前K个高频元素即可,如果频度相同那就返回元素值比较大的元素。解题思路(1)首先遍历整个数组,并使用哈希表记录每个数字出现的次数,并形成一个【出现次数数组】(2)找到原数组的前K个高频元素,就相当于找出【出现次数数组】的qianK大的值最简单的做法就是给【出现次数数组】排序,但由于可能给有N个不同的出现次数,所以总的算

2021-08-13 18:28:16 188

原创 每天6道题之基础知识点2——堆

前言主要就是参考的一些其他大牛的博客来自己学习!c++ STL堆操作C++ STL中哈希表 hash_map从头到尾详细介绍C++ STL map用法总结(整理)C++ STL unordered_map容器用法详解

2021-08-13 12:12:59 72

原创 每天6道题之第十七题:任务调度器(桶思想)

前言题目描述给定一个用字符数组表示的CPU需要执行的任务列表。其中包含使用大写的A-Z字母表示的26种不同种类的任务。任务可以以任意顺序执行,并且每个任务都可以再1个单位时间内执行完,CPU在任何一个单位时间内都可以执行一个任务,或者在待命状态。...

2021-08-13 11:37:31 236

原创 每天6道题之基础知识1:STL优先级队列

前言本来是想把第十七题那个任务调度器的题给写了,但是我看题解看不懂,所以就去学基础知识了,然后就学了优先级队列。在题解里看到说用堆来解决,用优先级队列来解决,这给我干懵了,我个菜鸡零基础,给我说这个,属实不太懂,然后就补了一些知识,如下:1 什么是优先级队列优先级队列与队列一样,只能从队尾插入元素,从队首删除元素,但是它有一个特性,就是队列中最大的元素总是位于队首,一般说用堆的思想其实就是指的优先级队列。优先级队列详细解释(1)头文件:#include(2)声明方法:priority_que

2021-08-12 22:50:57 90

原创 每天6道题之第十六题:和至少为K的最短子数组(队列)

前言题目描述返回 A 的最短的非空连续子数组的长度,该子数组的和至少为 K 。 如果没有和至少为 K 的非空子数组,返回 -1 。题目解析刚看到这道题的时候,我以为我读懂了,但其实并没有…我知道是会用到前缀和的,因为题目中有“连续子数组”,但是 我理所当然的认为是非要从头开始的连续子数组才算数,但其实不是,如果中间某一个子数组的和至少为K了,并且最短,那么肯定返回的是这个子数组的长度。所以现在要重新审视一下这个题目:用前缀和肯定没有毛病,举个例子吧:A=[17,85,93,-45,-2

2021-08-12 17:54:54 196

原创 每天6道题之第十五题:接雨水(栈)

前言题目描述题目解析接雨水这一题乍一看,没看懂,再看,噢!原来就是说如果某一点左右两边的最大值都比自己大那就说明能够接(不会流出来),但是接多少就需要我们计算了:接水量=左右两边的最大值中的最小值与当前值的差。而且要注意开头和结尾的接水量一定为0就按照这个思路就很好理解这道题,但是如何来做呢?解题思路(1)求出高度数组中每个元素的左边最大值,保存在一个数组里(2)求出高度数组中每个元素的右边最大值,保存在一个数组里(3)遍历高度数组,接水量=min(leftMax[i],rightM

2021-08-12 14:38:32 92

原创 每天6道题之第十四题:简化路径(栈)

前言题目描述以 Unix 风格给出一个文件的绝对路径,你需要简化它。或者换句话说,将其转换为规范路径。 在 Unix风格的文件系统中,一个点(.)表示当前目录本身;此外,两个点 (…)表示将目录切换到上一级(指向父目录);两者都可以是复杂相对路径的组成部分。更多信息请参阅:Linux / Unix中的绝对路径 vs相对路径 请注意,返回的规范路径必须始终以斜杠 / 开头,并且两个目录名之间必须只有一个斜杠 /。最后一个目录名(如果存在)不能以 /结尾。此外,规范路径必须是表示绝对路径的最短字

2021-08-12 13:46:45 107

原创 每天6道题之第十三题:字符串解码(栈)

前言题目描述给定一个经过编码的字符串,返回它解码后的字符串。编码规则为: k[encoded_string],表示其中方括号内部的 encoded_string 正好重复 k 次。注意 k保证为正整数。你可以认为输入字符串总是有效的;输入字符串中没有额外的空格,且输入的方括号总是符合格式要求的。此外,你可以认为原始数据不包含数字,所有的数字只表示重复的次数 k ,例如不会出现像 3a 或 2[4] 的输入。题目解析思想:借助栈和上一题类似,知道了用栈之后就要去分情况考虑了首先考虑需

2021-08-10 23:36:15 239

原创 每天6道题之第十二题:反转每对括号间的字符串

前言本来没看懂题解的时候,我真的是欲哭无泪,一再感叹数据结构真难,但是会了之后发现,这也太简单了吧,而我也太聪明了吧!!!题目描述给出一个字符串 s(仅含有小写英文字母和括号)。请你按照从括号内到外的顺序,逐层反转每对匹配括号中的字符串,并返回最终的结果。注意,您的结果中不应 包含任何括号。题目解析像这种遇见括号的不用想 首先考虑用栈而且在写的时候一般都是要分三种情况讨论的(下面就本题来说)(1)遍历到左括号时:遇见左括号的时候,不用反转字母,所以只需要将当前已经遍历到的字符压进栈,

2021-08-10 22:07:33 978

原创 每天六道题之第十一题:使括号有效的最少添加(栈)

题目描述给定一个由 ‘(’ 和 ‘)’ 括号组成的字符串 S,我们需要添加最少的括号( ‘(’ 或是‘)’,可以在任何位置),以使得到的括号字符串有效。 从形式上讲,只有满足下面几点之一,括号字符串才是有效的: 它是一个空字符串,或者它可以被写成 AB (A 与 B 连接), 其中 A 和 B 都是有效字符串,或者 它可以被写作 (A),其中 A 是有效字符串。给定一个括号字符串,返回为使结果字符串有效而必须添加的最少括号数。解题思路这一题比较简单,直接借用栈就可以解决,也就是让字符串中的字

2021-08-09 19:38:20 206

转载 每天6道题之第十题:K个一组翻转链表(8月10号复习)

题目描述给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表。 k 是一个正整数,它的值小于或等于链表的长度。 如果节点总数不是 k的整数倍,那么请将最后剩余的节点保持原有顺序。题目解析题目要求在一个链表中以k个链表结点为单位进行反转,什么意思呢?你可以想象把一个很长的链表分成很多个小链表,每一份的长度都是k最后一份的长度如果小于k则不需要反转,然后对每个小链表进行反转,最后将所有反转后的小链表按照之前的顺序拼接在一起解题思路参考这位大佬的博客:大佬解题思路首先,此题是分段

2021-08-09 17:56:52 69

原创 每天6道题之第九道题:从链表中删去总和为零的连续节点

题目描述给你一个链表的头节点 head,请你编写代码,反复删去链表中由总和值为 0的连续节点组成的序列,直到不存在这样的序列为止。如果存在多个总和值为0的连续节点序列,优先删除位置靠前的序列。删除完毕后,请你返回最终结果链表的头节点。解题思路:(1)借助三个指针和一个标志flag:一个指针dummy作为哑巴结点:dummy->next=head;不动。一个指针cur首先指向哑巴结点,用来遍历整个链表,cur=dummy,另一个指针nextTemp指向cur的下一个结点,同时在每遍历一次

2021-08-09 15:33:55 147

原创 每天6道题之第八题:链表中的下一个更大节点

题目描述:给出一个单向链表。链表中的节点分别编号为:node_1, node_2, node_3, … 。 每个节点都可能有下一个更大值(nextlarger value):对于 node_i,如果其 next_larger(node_i) 是 node_j.val,那么就有 j >i 且 node_j.val > node_i.val,而 j 是可能的选项中最小的那个。如果不存在这样的 j,那么下一个更大值为 0 。示例 2: 输入:[2,7,4,3,5] 输出:[7,0,5,5,

2021-08-09 14:24:37 147 1

原创 每天6道题之第七题:两两交换链表中的节点

昨天痛经休息了一天,今天满血复活!题目描述:给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。解题思路:(1)申请一个新的结点作为哑巴头结点(2)然后给哑巴头结点赋值为cur,遍历cur做内循环,内循环的条件就是当前结点后面有一个以上结点(3)内循环要做的事是先将当前结点的next指向结点2,然后将结点2的next指向结点1,结点1的next指向结点3(4)此时将cur指针向前移动,继续上述操作ListNode *swap

2021-08-09 10:41:35 76

原创 一天六道题之第六题:奇偶链表(8月8日早上补8月7日任务)

题目描述:题目解读:要求对链表只能遍历一次,那么自然而然我们会想到奇偶指针。先写主函数:int main(){ ListNode *head=createByTail(); head=Solution().oddEvenList(head); displayLink(head); return 0;}所以我们只需要写出oddEvenList(head)函数就行,来看看怎么写,也就是我们的解题思路是怎么样的.ListNode *oddEvenList(ListNOde *head){

2021-08-08 10:42:19 60

原创 每天6道题之第五题:分隔链表(8月10号再复习)

题目描述:题目分析解读:通过分析我们知道:(1)如果k大于链表的长度len,那么返回的数组的前len项的每个链表都只有一个结点,后面的len+1~k项元素都是NULL;(2)如果k小于链表的长度len,那么返回的数组可以分为k个部分,其中前(len%k)项每个数组元素的链表中的结点数为(len/k +1),后面部分的每个数组元素中的链表的结点个数为(len/k)个。在解这道题的时候,由于本科期间代码能力的缺乏导致很多代码不会写,甚至百度出来解题答案也看不懂,感谢宁同学的悉心指导,总算是明白了。

2021-08-07 22:57:19 62

原创 一天6道题之第四题:链表组件

题目描述:题目解读:如果当前结点在列表G中,并且下一个结点不在列表G中,我们就找到了一个组件,就将res+1所以这一道题其实是很简单的,首先写主函数:int main(){ ListNode *head=createByTail(); vector<int> G; int m,data,res; cin>>m; for(int i=0;i<m;i++){ cin>>data; G.push_back(data); } res=Solu

2021-08-07 20:09:58 74

原创 一天6道题之第三题:排序链表

题目描述:明确解题思路:采用归并排序的方法。(1)先找到链表的中间结点,将链表分为两部分(2)对两部分进行递归排序 (其实用递归排序的话空间的复杂度就变成了O(n)了,但这里我还是用了递归,没有用快速排序)具体的归并排序可以参看这篇博客归并排序详细介绍首先来了解一下归并排序:归并排序图解归并排序最大的特点就是分治法,也就是先找到中间位置,然后将其拆为两部分,在这里是有一个递归的概念的,也就是说将一个链表不断的分为两部分(最开始的两部分为记为list1,list2),我们再分别对list1和l

2021-08-07 16:55:20 66

原创 一天6道题之第二题:旋转链表

题目描述:解题思路:(1)遍历链表求长度len,因为k可能大于len(2)将整个链表形成一个环(3)然后遍历链表,走到len-k处断开链表返回即可首先写主函数:int main(){ int k; cin>>k; ListNode *head=createByTail(); head=Solution().rotateRight(head); DisplayLink(head); return 0}题目要求用不带头结点的链表,所以依旧沿用第一题的createbyT

2021-08-07 14:15:53 70

原创 从2021年8月7日开始一天6道题之第一题:重排链表

前言:为了更好的自我监督,为了锻炼自己的代码能力,开始刷题,一共100道题,一天6道题,假期还剩下20天,还可以练完。上午两道题 下午两道题 晚上两道题。题目描述:重排链表 算法思路:(1)首先找到链表的中间结点(2)对链表的后半部分进行逆序反转(3)把链表的前半部分子链表与逆序后的后半部分子链表进行合并,合并的思路为:分别从两个 链表各取一个结点进行合并main函数:int main(){ListNode *head=createByTail();Solution().reo

2021-08-07 12:20:06 69

原创 GAN学习小记录——keras版本不对怎么办?

闲来没事,就胡乱倒腾,感觉GAN挺好玩,就打算学一学,先找了一个DCGAN的源码跑了一下,但是鉴于原作者用的是keras=2.1 但是我的已经是最新版的了2.4.3,所以有些东西运行起来就会报错,比如:‘kernel_initializer’: initializers.normal(mean=0., stddev=0.02),这一行代码,再keras’2.1中没有任何问题,但是2.4.3就是报错,百度也百度不出来,我的直觉告诉我keras2.4关于initializers的函数发生了变化,于是我就直接

2021-05-21 09:29:40 185 1

原创 关于tensorflow2.4.0配置GPU的那些事

最近在实习,老板说让我把tensorflow2.4.0的gpu给配置好,方便我训练,就这,我都配置了大概四五次,第五次成功了,记录一下前几次的经历:看网上各种参差不齐的教程,说用cudn10.0版本的成功了,于是乎,我就直接装了cuda10.0以及与之对应的cudnn,但是装上去发现并没有什么用,训练的时候总是会出现某一个.dll找不到。这其实就是没有配置好的原因。下面来说说我最终配置tensorflow2.4 +cuda11.0 +cudnn 8.0.5版本的首先第一步肯定是要看你的电脑是否支持英伟达

2021-04-15 15:09:53 1441 3

原创 yolo系列:RuntimeError: No such operator torchvision::nms

最近利用YOLOv4做目标检测的时候发现了这个错误,现在将自己完美解决的方案给出:第一步:打开网址:https://pytorch.org/get-started/locally/按照自己电脑的配置选择上面的选项,然后复制下面的命令语句。第二步:从cmd进入自己的python环境我的是:F:\PythonWorkspace\venv\Scripts这也是我的pycharm的工作环境,然后敲入第一步产生的命令语句:第三步:成功消除错误运行成功...

2021-01-29 14:00:26 870

原创 关于Qtdesigner中图像处理的一些踩过的坑:进程已结束,退出代码 -1073740791 (0xC0000409)

今天本来想实现的是ui粗略是这个样子的:就是当我上传图像时,是这个样子:然后当我点击舌体分割的时候,第二个label可以用第一个label的图像数据,但是我发现Qtlabel中没有类似getPixmap()的方法,于是我就直接用了img=self.label.pixmap(),如果我直接在下面用self.label.setPixmap(img) 其实是可以输出的,但是我现在因为舌体分割要用到我的神经网络算法,所以在我调用之后我发现就不行了,百度了白天也没有整明白:于是有了下面比较笨的代码(其实一开

2021-01-25 02:20:48 2605 1

原创 关于在Pycharm中使用PyQt5的一点笔记

刚才成功靠大佬的博文在pycharm中运行ui界面十分的激动,现在记录一下:https://www.cnblogs.com/linyfeng/p/11216494.html这是那篇博客的地址,然后你设计好ui之后肯定是要将控件和事件对应起来的,这个对应起来的代码并不是在ui里面写,ui里面只负责ui的设计。然后你可以再新建一个python文件写绑定控件的代码,好了就这,回寝室!...

2020-12-13 22:34:14 94

原创 升级以后tensorflow 2.0 学会的东西:AttributeError:‘module‘ has no attribute ‘xxx‘的解决方法

自从安装了tensorflow 2.0 ,我就没有一天不头疼的 ,还因为这个天天发牢骚,差点放弃深度学习 hahah然后今天静下心来整理了一系列的问题,其实我觉得解决的根本就是弄懂她我们看到在1.x的版本中,这个contrib是已经不能用的了,所以在2.x中 如果你遇见了tf.contrib可能你就要注意了,我先说说我遇见的两处:# 一维化上一层的输出 P = tf.contrib.layers.flatten(P2)这一句当时就报错了,我遇见这种问题的第一反应百度,也确实有人了遇见这

2020-11-24 12:46:29 6652 4

空空如也

空空如也

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

TA关注的人

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