- 博客(14)
- 收藏
- 关注
原创 黑马点评-有关Waiting(TTFB)时间过长的原因
通过这次对错误的排查,我学会了合理的缩小错误的范围,利用自己学到的技术来排查错误如AOP,经过这次错误我对项目的整个流程已经对错误的快速定位有了新的认识。
2024-11-06 16:49:31 928
原创 leetcode106-从中序遍历序列构二叉树
输入:inorder = [9,3,15,20,7], postorder = [9,15,7,20,3]输入:inorder = [-1], postorder = [-1]输出:[3,9,20,null,null,15,7]是同一棵树的后序遍历,请你构造并返回这颗。相似,可以用来测试这道题是否学会了。是二叉树的中序遍历,
2024-08-31 11:16:02 709
原创 leetcode230-二叉搜索树中第k小的元素
由于二叉树本身就是有序存储的,故使用前序遍历二叉树,将结果储存在列表中,列表中的所用序列都是有序的,只需要在这里面找出第K个元素即可。输入:root = [5,3,6,2,4,null,null,1], k = 3。如果二叉搜索树经常被修改(插入/删除操作)并且你需要频繁地查找第。输入:root = [3,1,4,null,2], k = 1。,请你设计一个算法查找其中第。小的元素(从 1 开始计数)。给定一个二叉搜索树的根节点。小的值,你将如何优化算法?
2024-08-31 10:26:00 213
原创 leetcode71-简化路径
2.两个目录名之间必须只有一个斜杠 '/' ,多个‘/’视为一个‘/’。4.此外,路径仅包含从根目录到目标文件或目录的路径上的目录(即,不含 '.' 或 '..')‘.’表示本目录可以直接清除 ‘..’表示上一级目录要 清除上一级目录。这道题目是一道字符串截取的问题,这道题主要考虑的就是有关字符串截取的规范,整体来说要有一个清晰的思路。此外,路径仅包含从根目录到目标文件或目录的路径上的目录(即,不含。输入:path = "/a/./b/../../c/"输入:path = "/home//foo/"
2024-08-06 14:40:10 390
原创 leetcode128-最长连续序列
这样的做法会有较高的时间复杂度,因为好多数都是没有必要遍历的,而且一旦出现[0,1,2,4,8,5,6,7,9,3,55,88,77,99,999999999]这样的数据,时间复杂度必然会超标。想必应该是遍历数组的问题,里面会存在大量重复元素,应该直接遍历Set集合,要使用增强for循环来遍历Set集合。,因此不能对数组进行排序。解释:最长数字连续序列是 [1, 2, 3, 4]。输入:nums = [0,3,7,2,5,8,4,6,0,1]输入:nums = [100,4,200,1,3,2]
2024-08-05 11:01:07 251
原创 leetcode105-从前序与中序遍历序列构造二叉树
[左子树的中序遍历结果], 根节点, [右子树的中序遍历结果] ] 只要我们在中序遍历中定位到根节点,那么我们就可以分别知道左子树和右子树中的节点数目。它的前序遍历顺序为:preorder = [A,B,D,G,H,C,E,I,F](规则是先是根结点,再前序遍历左子树,再前序遍历右子树)它的中序遍历顺序为:inorder = [G,D,H,B,A,E,I,C,F](规则是先中序遍历左子树,再是根结点,再是中序遍历右子树)[ 根节点, [左子树的前序遍历结果], [右子树的前序遍历结果] ]
2024-08-04 14:12:05 297
原创 leetcode59-螺旋矩阵II
假如不做螺旋矩阵,直接做螺旋矩阵II的话,是比较难想到循环遍历这个方法的。leetcode通过引导1和2,使得2这个题还是比较好解决的。的一个变体,这个思路还可以按照螺旋数组进行遍历,只不过在遍历的时候不用把数组加入列表中了,而是应该填入数据,之后我们返回添加后的二维数组就可以了。输出:[[1,2,3],[8,9,4],[7,6,5]]所有元素,且元素按顺时针顺序螺旋排列的。
2024-08-03 11:39:10 293
原创 leetcode54-螺旋矩阵
我们需要观察打印出循环数组要什么条件,首先,是顺时针打印,我们会一层一层的打印,如图先打印红色,在打印蓝色,以此类推。这是一个大的规律,接下来开始顺时针遍历根据条件进行遍历,是比较简单的。这个题主要考察的就是循环遍历,如何根据题意来进行循环的控制,主要的难点就是要对各种情况进行周全考虑。输入:matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]输出:[1,2,3,4,8,12,11,10,9,5,6,7]输出:[1,2,3,6,9,8,7,4,5],返回矩阵中的所有元素。
2024-08-03 11:28:00 302
原创 leetcode33-搜索旋转数组(二分法)
我们可以明显的看到旋转位置为蓝线所在的位置,它将数组分为了两个有序数组s1,s2,我们现在就是要找到这个位置,这个位置的特点就是后面的元素要比前面的小,通过二分的方法。这道题使用一般遍历的方法是很好解决的,但是题目要求时间复杂度,简单的遍历就会时间复杂度过高为O(n),不能满足题目中的要求,使用二分查找的方法能够满足题目的要求并达到好的效果,速度还是很快的。然后记下这两个数据的位置,比较题中的target与最后一个元素的大小如果大,则在S1串中进行二分查找,否则在S2中进行二分。按升序排列,数组中的值。
2024-08-02 14:13:51 626
原创 leetcode15-三数之和
这道题首先限制了三个元素的位置不能相同,并且不能包含数相同但顺序不同的三元组,如[-1,0,1]与[0,-1,1]算作是相同的元素。如何移动指针这个问题我们搞定了,现在还会存在一个问题,就是我们移动这三个指针的时候,下一个元素可能是重复元素,因此还要判断移动指针后的元素遇上一个元素是否相同。不同的三元组是 [-1,0,1] 和 [-1,-1,2]。输入:nums = [-1,0,1,2,-1,-4]输出:[[-1,-1,2],[-1,0,1]]输入:nums = [0,0,0]输出:[[0,0,0]]
2024-08-01 15:32:53 305
原创 leetcode11-盛最多水的容器
缩放规则按照左边的右边与右边的左边进行比较,指针指向较大的。比如h[0]与h[8],先计算两者围成的容积,在比较h[1]和h[7]哪一个比较大如上图则左指针指向h[1]。假如X为两者里面较小的,我们不移动x而移动y,那么无论我们怎么移动其结果也不会超过x*t,因为我们要取最小值,所以选取的值只会≤x。原因是这样的当前左指针和右指针指向的数分别为 x 和 y,不失一般性,我们假设 x≤y。解释:图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。输入:[1,8,6,2,5,4,8,3,7]
2024-07-31 11:45:12 177
原创 leetcode第二题C++(自己的思考过程)
这道题主要考察的是对加法本质的理解以及对链表的一些基础操作,收获到经验教训为在做题的时候不要只想着表象,要从更深刻的角度去理解,不要机械的把一些工作粗暴的交给计算机去做,就比如之前我进行的多次累加,这源于对加法操作的理解不深刻,追求本质会让问题变的更加简单。我是小田,加油每一天!!!!大家也要加油呦!
2023-10-20 16:09:06 90 1
原创 Smart210嵌入Friendly官方Linux操作系统
1.硬件准备:一张16GB的SD卡,一个卡套、一个读卡器、以及smart210开发板2.软件准备:SD-Flasher、FriendlyARM-210的资料包3.软件包的链接:链接:https://pan.baidu.com/s/16Y1vhWZPGlT6HYzgjftl9Q?pwd=1234提取码:1234。
2023-03-26 12:14:39 398 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人