算法
文章平均质量分 63
三鑫 galaxy S7 edge(5G)
这个作者很懒,什么都没留下…
展开
-
LeetCode-11-盛水最多的容器
文章目录题目一、解题思路1. 暴力破解2.双指针法二、方法代码总结 题目 题目链接 一、解题思路 这题其实就是要求那两个点的面积最大。有两种解题思路。 1. 暴力破解 通过两层循环遍历任意两点的所有组合情况,然后求出两点的面积值,然后取最大值。 这种方法是最容易想到的。但是当我们使用这种方法提交上去时,会出现超时错误。不要问我为什么!!!懂得都懂。所以我们要通过一种要想出一种时间复杂度更低的方法。 2.双指针法 首先双层循环时肯定不行的,所以我们就来试试单层循环。单层循环我们要获取最大的面积我们首先要确原创 2021-07-23 21:39:53 · 79 阅读 · 0 评论 -
LeetCode-求二叉树的最大深度
文章目录题目详情一、解题思路二、解题步骤1.详细步骤2. 代码2.读入数据总结 题目详情 题目链接:二叉树的最大深度 一、解题思路 通过递归的方式,不断遍历其树的每一个节点。然后判断当前节点是否为空,不为空高度加1,同时遍历当前节点的子节点,然后比较左右两节点的高度,返回最大的节点高度。反之则直接返回上一节点的高度。 二、解题步骤 1.详细步骤 判断当前节点是否为空 如果为空,直接返回上一节点的高度 反之高度加1 ,并执行下一步 继续递归调用该函数,将其节点设置为当前节点,同时高度设置为当前节点的原创 2021-01-17 10:10:50 · 86 阅读 · 0 评论 -
LeetCode-汉明距离
文章目录题目描述一、解题思路1. 位运算法2. 暴力破解法二、代码1.位运算2.暴力破解总结 题目描述 一、解题思路 这里有两种解题思路 1. 位运算法 2. 暴力破解法 位运算如果你不了解的话,可以看下第二种解题思路。但是整体代码有点冗余,而且效率也不高。 ^的运算规则二进制位中各个位上数就是相同为0,不同为1。 &的运算规则是都为1时结果为1,反之全为0。 |的运算规则是只要有1结果为1,反之为0。 >>当前数二级制向右移一位,同时最高位根据数的正负来补0或1 <<原创 2021-01-16 23:46:17 · 65 阅读 · 0 评论 -
LeetCode递增顺序查找树
文章目录题目详情一、解题思路二、使用步骤三、代码总结 题目详情 题目详情链接 一、解题思路 将原树进行中序遍历将树中的节点的非空值放入到一个list集合中,创建一棵新树然后通过递归的方式将不断生成的新的右子树直到集合遍历完。 二、使用步骤 1.对原树进行中序遍历。将非空树的值一次放入到List集合中。 2.创建一个函数用于对集合进行遍历,将每次遍历得到的值用来创建当前树的值。 在集合遍历完之前,继续递归该函数,将传递的实参改为当前树的右子树。 三、代码 class Solution {原创 2021-01-04 23:53:06 · 98 阅读 · 0 评论 -
LeetCode将有序数组转化为二叉搜索树--Java
一、将有序数组转化为二叉搜索树 题目 详情链接:有序数组转二叉树 二、使用步骤 1.解题思路 将当前数组的中间值用于创建当前的节点,然后中间值左边的数,分为一个新的子数组,这里我们暂且叫左子数组,将右边的分为右子数组。将左子数组放入当前节点的左子树。右子树组,放入当前节点的右子树。重复上述步骤即可。 2.解题步骤 创建一个新的节点节点值为数组的中位值 。 判断当前子数组大小是否为1。 * 如果为1,则直接返回该节点。 * 反之执行第三步。 判断当前数组的 (中间值得索引-1)>=0, 就是判断当前原创 2020-12-20 00:43:53 · 120 阅读 · 1 评论 -
LeetCode之合并二叉树
合并二叉树 1. 题目 2. 解题思路 采用递归和后序遍历的方式来同时遍历两棵树。遍历的同时,一定要判断两颗树的当前节点是否为空。然后创建一个新的节点,节点值为两个节点之和。遍历完成后即可得到合并后的树。 3. 解题步骤 判断当前两颗树的节点全为空,如果为空则返回空。 反之有以下三种 可能两个节点都不为空 左节点为空,右节点不为空 右节点为空,左节点不为空 采取以下措施 当为第一种情况时 ,创建一个新的节点,节点值为左右节点值的和,之后遍历左右节点 当为第一种情况时 ,创建一个新的节点,原创 2020-12-19 00:59:19 · 136 阅读 · 2 评论