顺时针打印矩阵|算法与数据结构-剑指Offer 题目描述
输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。
123456输入:matrix = [ [1,2,3], [4,5,6], [7,8,9]]输出:[1,2,3,6,9,8,7,4,5]
解决思路
题目要求顺时针打印,可以采用定义右(right),下(down),左 ...
阅读更多
浏览器工作原理~渲染篇|浏览器 关键渲染路径
关键渲染路径是指浏览器所经历的一系列步骤。从而将HTML,CSS和JavaScript,转换成屏幕上呈现的像素内容,首先获取HTML并且开始构建文档对象模型(DOM),然后获取CSS构建CSS对象模型(CSSOM),然后将两者结合形成渲染树(Render Tree),然后浏览器根据渲 ...
阅读更多
连续数组|算法与数据结构-LeetCode给定一个二进制数组, 找到含有相同数量的 0 和 1 的最长连续子数组(的长度)。
123输入: [0,1]输出: 2说明: [0, 1] 是具有相同数量0和1的最长连续子数组。
解决思路
把0当成-1,然后依次累加数组中的元素,记录每次求和不同的结果的下标。存入Map,如果遇到相同的值,当前下标 ...
阅读更多
验证二叉搜索树|算法与数据结构-LeetCode 验证二叉搜索树
给定一个二叉树,判断其是否是一个有效的二叉搜索树。
假设一个二叉搜索树具有如下特征:
节点的左子树只包含小于当前节点的数。
节点的右子树只包含大于当前节点的数。
所有左子树和右子树自身必须也是二叉搜索树。
123456789输入: 5 / \ 1 4 / ...
阅读更多
反转一个单链表|算法与数据结构-LeetCode
反转一个单链表
12输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL
解决思路
先提取下链表头结点(打断原有链表)。再从先剩下的链表中,取链表头结点。加到上一步取下来的节点的头部。引用Lee ...
阅读更多