leetcode
文章平均质量分 56
王大丫丫
少壮不努力,老大徒伤悲。
深度学习、人工智能、大模型、多模态
展开
-
leetcode 24. Swap Nodes in Pairs(python)
原题链接:https://leetcode.com/problems/swap-nodes-in-pairs/我们可以用相同的解题方法,但是按照题意不修改节点值来完成题目。运行结果可以看出,所占内存都减小显著。您的支持是我最大的动力。原创 2024-07-26 10:48:09 · 226 阅读 · 0 评论 -
leetcode 62. Unique Paths(python)
另外可以将动态规划的 dp 压缩成一维的列表进行解题,原理和上面大同小异, df[j] = df[j]+df[j-1] 就是相当于上面解法的 dp[i][j] = dp[i][j-1] + dp[i-1][j] ,能节省不少的内存。根据题意,就是给出了一个 m x n 大小的方格矩阵,左上角是起始位置,右下角是结束位置,问从开始位置走到结束位置过程中,只能向下和向右走,一共有多少种不同的路径。原题链接:https://leetcode.com/problems/unique-paths/原创 2024-07-26 10:47:39 · 306 阅读 · 0 评论 -
leetcode 63. Unique Paths II(python)
有经验的同学都知道这种一般都是动态规划来求解,但是 m 和 n 小的时候用回溯的思想也能找到可能路径,通过写递归函数来进行求解,本题的 m 和 n 比较大,从运行结果来看也是超时,但是不妨碍我们试着用这种方式解体。根据题意,就是给出了一个 m x n 的地盘,你在左上角只能向右、向下两种方式走路,最后走到右下角,碰到障碍物则无法前进,求有多少种不同的路径。原题链接:https://leetcode.com/problems/unique-paths-ii/您的支持是我最大的动力。原创 2024-07-25 09:04:50 · 592 阅读 · 0 评论 -
leetcode 419. Battleships in a Board(python)
就是有一个 m * n 的甲板上面有很多格子,每个格子可能是 X 表示有战列舰,可能是空的表示啥都没有,题目要求战列舰只能是垂直或者水平的放置,并且形状为 1 * k 或者 k * 1 (这句话我彻底懵逼了,结合例子一中的图片,我反正是没搞懂是在干啥,我觉得可能是战列舰有大有小,可能是形状为 1 * k 或者 k * 1 的大小),战列舰之间也不能相连,求在甲板上的战列舰的个数。原题链接:https://leetcode.com/problems/battleships-in-a-board/原创 2024-07-24 17:53:27 · 351 阅读 · 0 评论 -
leetcode 482. License Key Formatting(python)
根据题意,就是将给定的 s ,转换成用短线连接的大写字符串,并且按照顺序,除了第一部分之外,其他每个部分都是要分 k 个字符。N 如果不能整除 k ,结果的第一个部分就是余数长度的字符串 s[:N%k] ,此时的 s[N%k:] 字符串的长度肯定能整除 k ,也就是后面的字符串肯定能每 k 个字符组成一部分,用短线连接即可。N 如果能整除 k ,结果的第一部分就是空字符串,后面的字符串直接按照每部分 k 个字符用短线连接即可。如例子 1 中所示的情况。您的支持是我最大的动力。原创 2024-07-24 17:52:56 · 278 阅读 · 0 评论 -
leetcode 806. Number of Lines To Write String(python)
根据题意,widths 就是给出了 26 个小写英文字母中,每个字母所占的像素的大小,s 是给出了一个小写字母的字符串,定义每行最多有 100 个像素,将 s 中每个字母按照顺序从左到右排列,如果该行字母所占的像素和超出了 100 个像素,则从下一行开始排列字母,最后求一共占了多少行,并且最后一行的像素大小为多少。原题链接:https://leetcode.com/problems/number-of-lines-to-write-string/您的支持是我最大的动力。原创 2024-07-19 08:21:51 · 363 阅读 · 0 评论 -
leetcode 814. Binary Tree Pruning(python)
就是使用的 DFS ,判断最底层的节点的左子树是否为空,右子树是否为空,如果左右子树都为空且值为 0 的节点,那么将其变为空。然后向上回溯,上层的节点通过同样的方法也能变为空,知道最后将所有节点从下到上都判断一次,然后返回新树的根节点。根据题意,就是给出了一个二叉树 root ,然后让我们进行树的剪枝,对不包含 1 的子树进行移除,返回移除了节点后的树的索引。原题链接:https://leetcode.com/problems/binary-tree-pruning/您的支持是我最大的动力。原创 2024-07-18 16:07:51 · 145 阅读 · 0 评论 -
leetcode 856. Score of Parentheses(python)
其实对于括号类型的题目,天生的特性完全可以用栈的结构来进行解答的,这道题也一样但需要结合题意进行一番变化。这种乘二的操作也很适合位移运算,其实我们只要知道每对 () 的深度 d 就可以得到这个括号对的分数为 2^d ,也就是 1>>d ,并加入到结果 result 中去。原题链接:https://leetcode.com/problems/score-of-parentheses/最后得到的 stack[-1] 即为答案。您的支持是我最大的动力。原创 2024-07-18 16:07:19 · 344 阅读 · 0 评论 -
leetcode 861. Score After Flipping Matrix(python)
根据题意,就是给出了一个 m*n 的矩阵 grid ,执行任意次数的特殊的操作,然后将每一行的数字当作二进制数,将所有的行形成的二进制进行相加,可以得到的最大的和是多少。原题链接:https://leetcode.com/problems/score-after-flipping-matrix/特殊操作就是可以将任意一行或者任意一列中的数字从 0 变成 1 ,或者从 1 变成 0。将上述过程简化一下,使用异或运算和 zip 函数可以省去很多代码。本题很适合贪心优化算法求解,代码会大幅缩减,直接看。原创 2024-07-12 16:49:32 · 228 阅读 · 0 评论 -
leetcode 905. Sort Array By Parity(python)
根据题意,就是给出了一个整数列表 nums ,要求将其中的全部偶数都放到全部的奇数前面。原题链接:https://leetcode.com/problems/sort-array-by-parity/另外可以直接在原列表中进行操作,这样不用占用额外的空间。还可以使用 python 的内置函数 sort ,自定义比较器即可。您的支持是我最大的动力。原创 2024-07-12 16:48:32 · 213 阅读 · 0 评论 -
leetcode 921. Minimum Add to Make Parentheses Valid(python)
上面的解法理解起来比较麻烦,可以直接使用栈来存储遍历到的每个元素,只有当栈的最后一个元素为 ( 且当前的元素为 ) 才执行栈的弹出功能,否则将当前元素加入栈中,最后栈中存储的都是不合法的括号,即需要进行的最少的操作次数。其实这个题思路比较简单,考察的就是栈的使用,只要找出不合法的圆括号有几个,那就至少需要进行多少次操作。根据题意,就是给出了一个左右圆括号组成的字符串,让我们判断这个字符串是否是合法的,并且在不合法的时候至少通过操作变成合法的需要次操作。您的支持是我最大的动力。原创 2024-03-27 16:46:41 · 344 阅读 · 0 评论 -
leetcode 938. Range Sum of BST(python)
根据题意,就是给出了一颗二叉树,和一个范围 [low, high] ,让我们求在这个范围内的节点的值的和是多少,思路比较简单,就是用递归的思想,判断每个节点的值如果在 [low, high] 中就累加起来,否则不去管他,最后递归的结果就是答案。上面的解法直接通过递归遍历了所有的节点,其实我们可以根据二叉树左子树小于根结点,右子树大雨根结点来减少计算量。原题链接:https://leetcode.com/problems/range-sum-of-bst/同样的思路,不同的写法。您的支持是我最大的动力。原创 2024-03-27 16:45:42 · 311 阅读 · 0 评论 -
leetcode 979. Distribute Coins in Binary Tree(python)
这是一个二叉树的平衡问题,最终的操作次数就是左子树和右子树的不平衡总和,以例子 3 为例,左子树的不平衡状态为 1 ,相当于缺一个金币,需要从 root 拿一个金币,右子树的不平衡状态为 1 ,相当于多出来一个金币需要往 root 上交一个,所以总的操作次数就是左右子树各自不平衡金币个数绝对值之和。我们使用 result 来计数总共的操作次数,每次返回的不平衡结果=当前的金币+左子树不平衡的金币绝对值+右子树不平衡的金币绝对值-1。您的支持是我最大的动力。原创 2024-03-26 18:17:39 · 286 阅读 · 0 评论 -
leetcode 980. Unique Paths III(python)
原题链接:https://leetcode.com/problems/unique-paths-iii/题目要求我们要从开始位置走,到结束位置停下来,有多少种不同的走法可以将所有的空位置都经过一次。原创 2024-03-21 18:04:53 · 833 阅读 · 0 评论 -
leetcode 1008. Construct Binary Search Tree from Preorder Traversal(python)
前序遍历有一个明显的特点,第一个出现的元素肯定是属于根节点,从第二个元素开始后面的元素肯定是属于左右子树的,而左子树都比根节点小,右子树都比右子树大,前序遍历会先遍历完左子树再遍历右子树,所以从第二个元素开始往后找出大于根节点的元素索引 i ,这就是右子树的根节点 ,左子树的元素则在 preorder[1:i] 列表中,右子树的元素则在 preorder[i:] 列表中,递归执行这个过程得到的树即为结果。根据题意,就是给出了一个二叉树的前序遍历结果,然后要求根据前序遍历构造一棵树,并且返回树的根节点。原创 2024-03-21 18:04:20 · 912 阅读 · 0 评论 -
leetcode 1110. Delete Nodes And Return Forest(python)
递归函数的操作是比较繁琐的,因为假如当前节点是需要被删除的,那么需要将其形成的左右非空两个子树加入到结果列表中,并且要将当前节点置空。这里的节点置空操作是需要注意的,因为结点置空不是直接 root=None , 而是需要将其父节点的 left 引用或者 right 引用置空才对。根据题意,就是给出了一个二叉树,并且给出了一个需要删除的节点值列表 to_delete ,题目要求我们将节点值出现在 to_delete 中的节点都删去,并且将删除之后形成的多个森林的引用都放入列表中。您的支持是我最大的动力。原创 2024-03-20 17:26:06 · 323 阅读 · 0 评论 -
leetcode 1114. Print in Order(python)
题中要保证 second() 在 first() 之后执行,third() 在 second() 之后执行,所以需要两把锁,第一把锁控制 second() 在 first() 之后执行 ,第二把锁控制 third() 在 second() 之后执行。根据题意,就是要在给定 nums 顺序的情况下,保证 second() 在 first() 之后执行,third() 在 second() 之后执行,其实就是在考 python 线程的知识点,关键是获取锁和释放锁。您的支持是我最大的动力。原创 2024-03-20 17:25:36 · 368 阅读 · 0 评论 -
leetcode 1123. Lowest Common Ancestor of Deepest Leaves(python)
另外可以换一种比较朴素的思路,先使用 DFS 遍历一次二叉树,找出树中叶子节点的最大深度以及最大深度的所有叶子结点的个数,然后再用另一个 DFS 遍历二叉树,如果第一次出现以某个节点为根节点的子树包含了所有的最深叶子节点,那么它就是答案。根据题意,就是给出了一个二叉树的根节点引用 root ,让我们找出最低的共同祖先节点(lowest common ancestor)。所以使用递归思想,定义递归函数 dfs ,每次调用 dfs 返回当前深度的最低的共同祖先节点引用以及当前的深度。您的支持是我最大的动力。原创 2024-03-19 10:52:32 · 814 阅读 · 0 评论 -
leetcode 1219. Path with Maximum Gold(python)
根据题意,就是给出了一个金矿的矩阵 grid ,大小为 m*n ,每个位置 grid[i][j] 都有一个数字代表金子数量,你现在是一个掘金者,可以从金矿矩阵的任意一个位置出发,然后向上下左右四个方向都能行进,但是不能访问金子数为 0 ,同时不能走走过的位置,求能得到的金子数最多数量。真很明显就是一个 DFS 问题,只要注意不会触发边界禁止条件就可以,以所有位置为起点得到能获得的金子的最大数量,即为 dp ,然后从 dp 中找出最大的数字,即为答案。您的支持是我最大的动力。原创 2024-03-13 16:10:50 · 241 阅读 · 0 评论 -
leetcode 1282. Group the People Given the Group Size They Belong To(python)
然后又给了一个整数列表 groupSizes ,其中 groupSizes[i] 表示的是索引为 i 的人所在组的大小。例如,如果 groupSizes[1] = 3,则索引为 1 的人必须在大小为 3 的组中。根据题意,有 n 个人被分成不知数量的几个组,每个人的唯一 ID 标记就是索引 0 到 n-1 ,每个人都应该恰好出现在一个组中,并且每个人都必须在一个组中。要求返回一个满足题意的列表,如果有多个答案,则返回其中任何一个。遍历最后得到的 result 就是答案。您的支持是我最大的动力。原创 2024-03-13 16:04:11 · 419 阅读 · 0 评论 -
leetcode 1325. Delete Leaves With a Given Value(python)
根据题意,就是给出了一个二叉树,让我们删除值为 target 的叶子结点,注意,在删除叶子结点之后可能父节点也称为了叶子结点,如果值为 target 也应该删除,不断重复此类操作直到不能进行下去,返回新树的索引。原题链接:https://leetcode.com/problems/delete-leaves-with-a-given-value/原题链接:https://leetcode.com/problems/delete-leaves-with-a-given-value/您的支持是我最大的动力。原创 2024-03-12 10:08:05 · 235 阅读 · 0 评论 -
leetcode 1343. Number of Sub-arrays of Size K and Average Greater than or Equal to Threshold(python)
其实主要的耗时操作都在取自列表、求和、除法这三个关键的步骤上面,我们通过使用滑动窗口,来缩短计算时间,也就是每次只计算长度为 k 的窗口大小的和记录为 total ,向右滑动一个元素,计算新的窗口的和就是减去之前窗口的第一个元素且加上新进入窗口的最后一个元素,这样就可以大幅度减少求和的运算。您的支持是我最大的动力。原创 2024-03-12 09:23:43 · 338 阅读 · 0 评论 -
leetcode 1379. Find a Corresponding Node of a Binary Tree in a Clone of That Tree(python)
原题链接:https://leetcode.com/problems/find-a-corresponding-node-of-a-binary-tree-in-a-clone-of-that-tree/当 cloned 根结点的值和 target 节点的值一样的时候,返回 clone ,否则使用递归遍历当前节点的左右两个子树。直接使用栈 stack ,保存所有的节点,然后判断当前节点的值是否和 target 相同,如果相同返回当前节点的引用。您的支持是我最大的动力。原创 2024-03-11 09:44:04 · 272 阅读 · 0 评论 -
leetcode 1381. Design a Stack With Increment Operation(python)
根据题意,就是要求自己设计一个栈相关的操作,每个方法都规定了输入、操作方法和输出,思路比较简单:通过列表及其相关的内置函数完成相关的操作即可,只要懂得了栈的概念,实现起来比较简单。原题链接:https://leetcode.com/problems/design-a-stack-with-increment-operation/您的支持是我最大的动力。原创 2024-03-07 15:24:22 · 311 阅读 · 0 评论 -
leetcode 1415. The k-th Lexicographical String of All Happy Strings of Length n(python)
s[i+1] ,最后将组成的所有的符合题意的字符串按照字典顺序进行排序,返回索引为 k-1 的元素,如果没有该元素则直接返回空字符串。因为第一次已经初始化了 l ,所以只需要循环 n-1 次,在每次循环过程中,将之前的所有 l 中的元素都取出来,这些元素每一个都可以经过在末尾添加不同的其他两个字符形成新的俩个字符串,规律如下琐事,将这些形成的新字符串都添加到 l ,进行下一次的循环。循环结束之后,得到的 l 中的元素已经是有顺序的,直接返回 l[k-1] 即可。您的支持是我最大的动力。原创 2024-03-07 15:23:04 · 232 阅读 · 0 评论 -
leetcode 1448. Count Good Nodes in Binary Tree(python)
根据题意,就是给出了一个二叉树 root ,找出这棵树中间有多少个节点是 good 的,题目中对“ good 节点”的定义为该节点到根结点的路径上的节点的值都小于等于该节点。思路比较简单,直接用 DFS ,在递归的时候传入当前路径中的最大值,然后和当前值进行比较,如果符合题意,则结果 result 加一,递归结束的 result 即为答案。原题链接:https://leetcode.com/problems/count-good-nodes-in-binary-tree/您的支持是我最大的动力。原创 2024-03-06 14:29:18 · 206 阅读 · 0 评论 -
leetcode 1472. Design Browser History(python)
根据题意,就是让我们实现一下页面的浏览,前进,后退等操作,具体的定义题目中都已经给出来了,其实就是考察的栈的压栈和弹出的基本操作,只不过结合了实际的业务场景,用栈来操作具体的页面顺序,原题链接:https://leetcode.com/problems/design-browser-history/您的支持是我最大的动力。原创 2024-03-05 16:41:45 · 282 阅读 · 0 评论 -
leetcode 1529. Bulb Switcher IV(python)
根据题意,就是房间里面有一排从左到右排列的灯泡的开关,开关只有开和关两种状态,用 1 和 0 表示,这排开关的索引为 0 到 n-1。我们可以进行一种操作,这种操作要求将索引 i 到 n-1 的灯泡都要按一次。题目给出了一个开关的排列目标 target ,求经过多少次这种操作就可以让开关形成 target 的样式。原题链接:https://leetcode.com/problems/bulb-switcher-iv/您的支持是我最大的动力。原创 2024-03-05 16:41:14 · 419 阅读 · 0 评论 -
leetcode 1551. Minimum Operations to Make Array Equal(python)
根据题意,就是给出了一个整数 n ,构造列表 arr ,索引 i 位置上的整数为 arr[i] = (2 * i) + 1 ,然后执行一种操作,每次取不同的两个索引 x 和 y ,对 arr[x] 的值减一,对 arr[y] 的值加一,求一共执行多少次操作,能得到一个元素都相等的 arr。当 n = 6 ,arr=[1,3,5,7,9,11] ,执行操作过程如下,得到 [6,6,6,6,6,6] ,直接返回 9。当 n = 1 ,arr=[1] ,因为元素都相等,所以不需要操作,直接返回 0。原创 2024-03-04 14:32:03 · 460 阅读 · 0 评论 -
leetcode 1566. Detect Pattern of Length M Repeated K or More Times(python)
根据题意,就是给出了一个整数数组 arr ,判断是否有长度为 m 的模式连着重复至少 k 次。这里看英文题目描述可能不是很清晰,但是看了例子就基本知道了,主要记住这 k 个模式不要断开,但也不能互相交叉覆盖。原题链接:https://leetcode.com/problems/detect-pattern-of-length-m-repeated-k-or-more-times/您的支持是我最大的动力。原创 2024-02-29 16:05:11 · 406 阅读 · 0 评论 -
leetcode 1646. Get Maximum in Generated Array(python)
另外,可以用递归的方式解决。递归的出口就是当 n<=1 的时候返回结果,否则就将 n//2 得到索引位置 p ,当 n 为奇数则求 cal§+cal(p+1) ,当 n 为偶数则求 cal§ ,函数递归结束可得到结果。每个元素通过递归结束得到的结果组成的列表,再通过 max 函数求最大值。原题链接:https://leetcode.com/problems/get-maximum-in-generated-array/根据题意,就是给出一个数字 n ,生成一个 n+1 个数字的列表,找出最大值。原创 2024-02-29 16:04:35 · 368 阅读 · 0 评论 -
leetcode 1668. Maximum Repeating Substring(python)
基本的思想和上面的类似,就是计算出 word 可能存在于 sequence 的最大的次数,然后遍历 [1,count] 中的每个元素 n ,使用 find 函数查找 word*n 是否存在于 sequence ,如果存在则结果加一,否则直接返回 result。思路比较简单,就是先计算 word 可以连续拼接的最大次数 n ,然后将 word 拼接 n 次之后判断是否存在于 sequence 中,如果不存在那就判断 n-1 是否存在于 sequence 中,以此类推,如果都没有,那就直接返 0 即可。原创 2024-02-28 09:21:24 · 253 阅读 · 0 评论 -
leetcode 1721. Swapping Nodes in a Linked List(python)
根据题意,就是给出了一个链表,并且给出了一个数字,要求我们用将链表的正向第 k 个值和逆向的第 k 个值进行交换,最后返回新的链表的头节点 head。原题链接:https://leetcode.com/problems/swapping-nodes-in-a-linked-list/您的支持是我最大的动力。原创 2024-02-28 09:20:53 · 348 阅读 · 0 评论 -
leetcode 1752. Check if Array Is Sorted and Rotated(python)
根据题意,就是将 nums 从某个位置截断后,然后将两部分前后互换再拼接起来,是否得到一个非降序的列表,也就是升序或者全相等列表。思路比较简单,就是将 nums 先进行升序排序为 tmp ,然后判断 tmp 和 nums 是否相等,如果相等则返回 True ,如果不相等,则遍历 nums ,判断 nums[i:] + nums[:i] 和 tmp 是否相等,如果相等则返回 True ,如果不相等则最后返回 False。您的支持是我最大的动力。原创 2024-02-27 14:07:19 · 359 阅读 · 0 评论 -
leetcode 1806. Minimum Number of Operations to Reinitialize a Permutation(python)
根据题意,就是给出了一个偶数 n ,最初可以形成一个列表 perm ,以 0 为索引每个元素为 perm[i] == i , 我们进行一种特殊的操作,求至少做多少次这种操作,可以让 perm 又重新变回 perm。按照题意,思路比较简单,就是直接按照这种操作,不断进行,并使用计数器 count 计数,当 perm 重新变回 perm 时,返回 count 即可。另外,可以使用递归来解决 perm 的不断变化。您的支持是我最大的动力。原创 2024-02-27 14:06:49 · 386 阅读 · 0 评论 -
leetcode 1828. Queries on Number of Points Inside a Circle(python)
根据题意,就是给出一个点列表 points ,然后又给出一组圆列表,每个圆元素有三个值,前两个是表示中心点为位置,第三个表示的是圆半径,计算每个每个圆可以囊括 points 中的点的个数,并且按照圆出现的顺序,在列表中显示每个圆能囊括的点的个数,其中点如果刚好在边上也算有效点。原题链接:https://leetcode.com/problems/queries-on-number-of-points-inside-a-circle/您的支持是我最大的动力。您的支持是我最大的动力。原创 2024-02-26 14:22:27 · 685 阅读 · 0 评论 -
leetcode 1869. Longer Contiguous Segments of Ones than Zeros(python)
根据题意,如果 s 中最长的 1 字符串的长度大于最长的 0 字符串,返回 true ,否则返回 false。思路比较简单, s.split(“0”) 可以得到分割出来的包含 1 的字符串列表,s.split(“1”) 可以得到分割出来的包含 0 的字符串,将两者排序找出各自最大的长度的字符串,判断最长的 1 字符串的长度是否大于最长的 0 字符串的长度。您的支持是我最大的动力。原创 2024-02-23 10:27:57 · 286 阅读 · 0 评论 -
leetcode 1876. Substrings of Size Three with Distinct Characters(python)
因为是在字符串 s 中,找出长度为 3 的没有重复字符的子字符串个数。所以长度为 3 的子字符串可以两两字符进行比较,速度比用内置函数更快一点,如果 3 个字符户部巷等结果计数加 1 ,遍历结束即可得到结果。根据题意,就是在字符串 s 中,找出长度为 3 的没有重复字符的子字符串个数。只需要遍历 s ,每 3 个字符的集合长度为 3 结果计数加 1 ,遍历结束即可得到结果。运行结果表明速度确实更快,但是消耗内存更多,说明上面的内置函数 set 在内存优化方面做了工作。您的支持是我最大的动力。原创 2024-02-22 15:42:24 · 303 阅读 · 0 评论 -
leetcode 1877. Minimize Maximum Pair Sum in Array(python)
根据题意,给出一个偶数长度的整数列表 nums ,将里面的元素两两组和成一对,每个元素只能属于一个对,使得所有对的和的最大值最小,问这个最小值是多少。原题链接:https://leetcode.com/problems/minimize-maximum-pair-sum-in-array/您的支持是我最大的动力。原创 2024-02-22 15:41:39 · 327 阅读 · 0 评论 -
leetcode 55. Jump Game(python)
其实我们细想一下这道题的规律就会发现比较清晰,当我们在某个索引位置 i 的位置上,只要 i + nums[i] 的结果大于等于最后一个索引 len(nums) - 1 即可直接返回 True ,表示我们在 i 索引位置上可以直接达到数组的最后位置上。通过读题,和观察题目对于 nums 的条件限制,我们发现 nums 的最长长度为 10^4 ,切每个元素的最大值为 10^5 ,所以这肯定不能使用常规的递归或者暴力,我们对于这种有规律的大数据量的题目,一般使用贪心即可。您的支持是我最大的动力。原创 2024-02-21 20:26:45 · 361 阅读 · 0 评论