摘要:
题目描述给定两个(单向)链表,判定它们是否相交并返回交点。请注意相交的定义基于节点的引用,而不是基于节点的值。换句话说,如果一个链表的第 k 个节点与另一个链表的第 j 个节点是同一节点(引用完全相同),则这两个链表相交。 输入:listA = [4,2,8,4,5,6], listB = [5,0 阅读全文
摘要:
题目描述: 输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。 例如,一个链表有 6 个节点,从头节点开始,它们的值依次是 1、2、3、4、5、6。这个链表的倒数第 3 个节点是值为 4 的节点。 示例: 给定一个链表: 1->2-> 阅读全文
摘要:
因为希望是O(1)的时间复杂度,所以很容易想到需要使用哈希表。那么接下来,就直接讲实现思路了。 LRUCache 的常见实现方式是:哈希表+双向链表。那为什么不是哈希表+数组了。因为数组的查找和替换是O(N)级别的,所以需要使用双向链表。 思路: 说明: map用来作为存储容器,key是传进来的In 阅读全文
摘要:
两数之和 2次for循环O( N2 ) 的做法就不说了,大家都会。我说下O(N)时间复杂度的做法。 解题思路: 一次for循环。遍历的时候用字典记录下遍历到的值,不过是以num为key,以下标index为value 继续遍历的时候,就用 target - num作为key去字典中取值,如果取到了说明 阅读全文
摘要:
题目来源于 LeetCode 的第 17 题,难度为:中等。目前的通过率是56.8%。 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按任意顺序返回。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 很多排列组合相关的问题,都可以通过(Depth F 阅读全文
摘要:
题目来源于 LeetCode 的第 99 题,难度为:中等。目前的通过率是61.9%。 给你二叉搜索树的根节点 root ,该树中的两个节点被错误地交换。请在不改变其结构的情况下,恢复这棵树。 首先说下二叉搜索树的性质,就是根节点的左子树上的值都比根节点的值小,根节点的右子树上的值都比根节点的值大【 阅读全文
摘要:
精准测试系列《四》分享了如何通过测试管理平台进行代码覆盖率的统计,今天的分享内容是在发布平台进行获取覆盖率报告的逻辑,分享的大致思路还是从前端页面发起请求,然后后端接收到请求继续处理这样的逻辑来讲解。 Step1: 前端页面的按钮 <button class='btn btn-danger' id= 阅读全文
摘要:
今天继续分享学习 HarmonyOS 系统,今天的分享将在HarmonyOS App开发之组件布局类的基础上,针对核心的代码进行一次优化。 首先,来看一看 HarmonyOS App开发之组件布局类的核心处理逻辑代码(备注不同布局的相似代码忽略掉): 1@Override 2public void 阅读全文
摘要:
特别说明:输入:root = [3,5,1,6,2,0,8,null,null,7,4], p = 5, q = 4输出:5解释:节点 5 和节点 4 的最近公共祖先是节点 5 。因为根据定义最近公共祖先节点可以为节点本身。 解题思路: 一般二叉树相关的算法题,都可以使用递归这个编程技巧来解题,本题 阅读全文
摘要:
今天继续分享有关 HarmonyOS 系统的开发组件布局类的知识,我们将在此系统上进行 App 应用开发,主要内容是讲常用的组件布局类有哪些以及它们的使用方式。 分享的逻辑是先学习布局的含义,再讲解应用框架及示例代码的调用逻辑,最后讲解运行效果图,大致是按照这种三步曲的节奏来分享。 第一步:常用组件 阅读全文