
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
文章目录1. 题目2. 解题1. 题目给你一个正整数数组 arr,考虑所有满足以下条件的二叉树:每个节点都有 0 个或是 2 个子节点。数组 arr 中的值与树的中序遍历中每个叶节点的值一一对应。(知识回顾:如果一个节点有 0 个子节点,那么该节点为叶节点。)每个非叶节点的值等于其左子树和右子树中叶节点的最大值的乘积。在所有这样的二叉树中,返回每个非叶节点的值的最小可能总和。这个和的值是一个 32
文章目录1. 题目2. 解题1. 题目已知有 N 门课程,它们以 1 到 N 进行编号。给你一份课程关系表 relations[i] = [X, Y],用以表示课程 X 和课程 Y 之间的先修关系:课程 X 必须在课程 Y 之前修完。假设在一个学期里,你可以学习任何数量的课程,但前提是你已经学习了将要学习的这些课程的所有先修课程。请你返回学完全部课程所需的最少学期数。如果没有办法做到学完全部这些课
文章目录1. 树状数组2. 单点查询,单点修改3. 单点查询,区间修改1. 树状数组类似数据结构:线段树(Segment Tree)树状数组 跟 线段树 的区别:树状数组能做的事情,线段树都能做!(线段树功能更牛)树状数组代码简单,实现起来比线段树容易(树状数组代码更简单)树状数组的 查询 和 修改 复杂度都为 log(n)\log(n)log(n)原数组为 A树状数组为...
文章目录1. 问题引入1. 问题引入前面讲了0-1背包的回溯解决方法,它是穷举所有可能,复杂度是指数级别的,如何降低时间复杂度呢?对于一组不同重量、不可分割的物品,我们需要选择一些装入背包,在满足背包最大重量限制的前提下,背包中物品总重量的最大值是多少呢?假设背包的最大承载重量是9。有5个不同的物品,重量分别是2,2,4,6,3。把回溯求解过程,用递归树画出来,就是下面这个样子:...
文章目录1. 题目2. 解题1. 题目一次 位翻转 定义为将数字 x 二进制中的一个位进行 翻转 操作,即将 0 变成 1 ,或者将 1 变成 0 。比方说,x = 7 ,二进制表示为 111 ,我们可以选择任意一个位(包含没有显示的前导 0 )并进行翻转。比方说我们可以翻转最右边一位得到 110 ,或者翻转右边起第二位得到 101 ,或者翻转右边起第五位(这一位是前导 0 )得到 10111 等
文章目录1. 题目2. 解题1. 题目Alice 和 Bob 共有一个无向图,其中包含 n 个节点和 3种类型的边:类型 1:只能由 Alice 遍历。类型 2:只能由 Bob 遍历。类型 3:Alice 和 Bob 都可以遍历。给你一个数组 edges ,其中 edges[i] = [typei, ui, vi] 表示节点 ui 和 vi 之间存在类型为 typei 的双向边。请你在保证图仍能够
1. 题目给你两个数组 nums1 和 nums2 。请你返回 nums1 和 nums2 中两个长度相同的 非空 子序列的最大点积。数组的非空子序列是通过删除原数组中某些元素(可能一个也不删除)后剩余数字组成的序列,但不能改变数字间相对顺序。比方说,[2,3,5] 是 [1,2,3,4,5] 的一个子序列而 [1,5,3] 不是。示例 1:输入:nums1 = [2,1,-2,5], nums2
1. 题目给定一个整数数组 A,坡是元组 (i, j),其中i < j 且 A[i] <= A[j]。这样的坡的宽度为 j - i。找出 A 中的坡的最大宽度,如果不存在,返回 0 。示例 1:输入:[6,0,8,2,1,5]输出:4解释:最大宽度的坡为 (i, j) = (1, 5): A[1] = 0 且 A[5] = 5.示例 2:输入:[9,8,1,0,1,9,4,0,4,1]
http://poj.org/problem?id=1250题意大意住宿床位有限,按顺序入住,用ABC等代表单个人,第1次出现代表入住,第2次出现代表离开输入:1 ABCBCA代表有1个床位,A入住,B入住,入住失败C入住,入住失败B离开,共1人离开(未住店)C离开,共2人离开(未住店)A离开计算有几个人来了没床位离开了思路用2个链表存储床位上的人,等待队...
文章目录1. 题目2. 解题1. 题目给定一棵二叉树的根节点 root 和 TreeNode 类对象的数组(列表) nodes,返回 nodes 中所有节点的最近公共祖先(LCA)。数组(列表)中所有节点都存在于该二叉树中,且二叉树中所有节点的值都是互不相同的。我们扩展二叉树的最近公共祖先节点在维基百科上的定义:“对于任意合理的 i 值, n 个节点 p1 、 p2、…、 pn 在二叉树 T 中的







