leetcode
leetcode题解
不学无术的学混子
永远不要放弃真正想要的东西,为之拼搏虽难,但后悔更甚。
展开
-
leetcode-219场周赛
目录1688. 比赛中的配对次数1689. 十-二进制数的最少数目1690. 石子游戏 VII1691. 堆叠长方体的最大高度1688. 比赛中的配对次数题目-1688. 比赛中的配对次数每轮只会淘汰一个人,那么总共需要淘汰n - 1个人,一共n - 1 场class Solution { public int numberOfMatches(int n) { return n - 1; }}1689. 十-二进制数的最少数目题目-1689. 十-二进制数的最原创 2020-12-14 11:34:37 · 137 阅读 · 0 评论 -
leetcode-217场周赛
目录5613. 最富有客户的资产总量5614. 找出最具竞争力的子序列5615. 使数组互补的最少操作次数5616. 数组的最小偏移量5613. 最富有客户的资产总量题目-5613. 最富有客户的资产总量只会水水简单题了。扫描求和,选最大,ac,比赛结束。class Solution { public int maximumWealth(int[][] accounts) { int[] sum = new int[accounts.length]; for原创 2020-11-29 19:41:03 · 130 阅读 · 1 评论 -
leetcode-40场双周赛
目录5557. 最大重复子字符串5558. 合并两个链表5560. 设计前中后队列5559. 得到山形数组的最少删除次数5557. 最大重复子字符串题目-5557. 最大重复子字符串比赛的时候写的超级复杂,最简单的就是一次构造k个重复的word,查查有没有。class Solution { public int maxRepeating(String sequence, String word) { int cnt = 0; String ss = word;原创 2020-11-29 00:28:08 · 202 阅读 · 0 评论 -
leetcode-216场周赛
这里写目录标题1662. 检查两个字符串数组是否相等1663. 具有给定数值的最小字符串1664. 生成平衡数组的方案数1665. 完成所有任务的最少初始能量1662. 检查两个字符串数组是否相等题目-1662. 检查两个字符串数组是否相等从左到右依次合并word1和word2,然后比较合并后的单词是否相同即可。class Solution { public boolean arrayStringsAreEqual(String[] word1, String[] word2) {原创 2020-11-27 15:53:50 · 123 阅读 · 0 评论 -
leetcode-213场周赛
目录1640. 能否连接形成数组1641. 统计字典序元音字符串的数目1642. 可以到达的最远建筑1643. 第 K 条最小指令1640. 能否连接形成数组题目-1640. 能否连接形成数组遍历arr中的每一个元素,如果与pieces中的第一个元素相等,则依次遍历pieces中的元素。class Solution { public boolean canFormArray(int[] arr, int[][] pieces) { boolean flag = true;原创 2020-11-27 11:08:37 · 124 阅读 · 0 评论 -
leetcode 周赛题解--持续更新
目录39场双周赛215场周赛39场双周赛215场周赛5601-设计有序流5602-将 x 减到 0 的最小操作数5603-确定两个字符串是否接近5604-最大化网格幸福感原创 2020-11-15 13:56:44 · 272 阅读 · 2 评论 -
leetcode-215场周赛
目录5601-设计有序流5602. 将 x 减到 0 的最小操作数5603. 确定两个字符串是否接近5604. 最大化网格幸福感5601-设计有序流题目-5601-设计有序流最开始没有看明白什么意思,其实,简单来说,就是,维护一个String数组,一次在数组中插入字符串,同时维护一个ptr指针,如果当前插入的位置与ptr指针指向相同,则遍历至数组为空,同时更改ptr指针位置。否则,ptr指针向下指一个。class OrderedStream { String[] str = null;原创 2020-11-15 13:41:30 · 181 阅读 · 0 评论 -
leetcode-113 路径总和 II - 二叉树
leetcode-113 路径总和 II这个题是leetcode-112 路径总和的进阶,只需要额外开个数组记录路径。/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */class Solution {原创 2020-11-12 11:54:13 · 111 阅读 · 1 评论 -
leetcode-112 路径总和-二叉树
leetcode-112 路径总和计算根节点到叶子节点的和,然后和目标值进行比较。/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */class Solution { private boolean原创 2020-11-12 11:40:22 · 143 阅读 · 1 评论 -
leetcode-111 二叉树的最小深度-二叉树
leetcode-111 二叉树的最小深度计算根节点到叶子节点的距离,取最小/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int原创 2020-11-12 11:37:46 · 68 阅读 · 0 评论 -
leetcode-110 平衡二叉树-平衡二叉树
leetcode-110 平衡二叉树平衡二叉树要求所有节点的左右子树的高度差小于1,因此,只需在遍历的时候返回其左右子树的深度。/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val =原创 2020-11-12 11:13:38 · 126 阅读 · 0 评论 -
leetcode-108 将有序数组转换为二叉搜索树-二叉树
leetcode-108 将有序数组转换为二叉搜索树最简单的一个想法,取数组中间值为根,左边构建左子树,右边构建右子树。/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */class Solution {原创 2020-11-12 10:58:39 · 103 阅读 · 1 评论 -
leetcode-107 二叉树的层次遍历 II -二叉树
leetcode-107 二叉树的层次遍历 II正常层序遍历,最后将数组翻转/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */class Solution { public List<List原创 2020-11-12 10:50:26 · 68 阅读 · 0 评论 -
leetcode-106 从中序与后序遍历序列构造二叉树-二叉树
leetcode-106 从中序与后序遍历序列构造二叉树这题和leetcode-105一样,后序最后一个节点是根节点,然后在中序中划分子树即可。/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */class原创 2020-11-12 10:40:54 · 97 阅读 · 1 评论 -
leetcode-105 从前序与中序遍历序列构造二叉树-二叉树
leetcode-105 从前序与中序遍历序列构造二叉树前序的第一个节点是根节点,然后在中序中找到这个节点的位置,该位置前为左子树,后为右子树。/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */class原创 2020-11-12 10:18:16 · 115 阅读 · 5 评论 -
leetcode-104 二叉树的最大深度-二叉树
leetcode-104 二叉树的最大深度随便一种遍历方式,遍历的同时记录深度,水题。/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */class Solution { private int ma原创 2020-11-12 09:34:33 · 66 阅读 · 0 评论 -
leetcode-103 二叉树的锯齿形层次遍历-二叉树
leetcode-103 二叉树的锯齿形层次遍历这题与102题无异,只需对于保存结果的偶数行进行一次反转。可用(Collections.reverse())/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */原创 2020-11-12 09:29:53 · 115 阅读 · 2 评论 -
leetcode-102 二叉树的层序遍历
leetcode-102 二叉树的层序遍历嗯,简单的bfs,由于每层需要构成一个数组,因此在遍历的时候,每层节点一起处理。/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */class Solution {原创 2020-11-11 21:50:21 · 113 阅读 · 0 评论 -
leetcode-101 对称二叉树-二叉树
leetcode-101 对称二叉树与100题类似,可看做p,q两棵树的左右子树互相对比,注意判空。/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */class Solution { private原创 2020-11-11 21:16:23 · 107 阅读 · 0 评论 -
leetcode-100 相同的树-二叉树
100 相同的树同步遍历两棵树,比对是否值相等,注意判空。/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, Tree原创 2020-11-11 21:07:46 · 85 阅读 · 0 评论 -
leetcode-98 验证二叉搜索树-二叉树
98 验证二叉搜索树二叉搜索树的中序遍历为单调递增。/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */class Solution { private boolean flag = true;原创 2020-11-11 20:43:50 · 79 阅读 · 0 评论 -
leetcode-94 二叉树的中序遍历-二叉树
基础模板题,利用递归遍历二叉树/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode left, Tree原创 2020-11-11 20:17:38 · 69 阅读 · 0 评论 -
leetcode-124 二叉树中的最大路径和-二叉树
124二叉树中的最大路径和在树中,每个节点都可以看做是一颗以该节点为根的子树,同时又作为其他根的子节点(根节点除外),因此,只需单独讨论两种情况。当A作为根节点的时候,最大值为B-A-C当A作为子节点的时候,最大值为Max(B, C) + A注:当子节点小于0时,则舍弃该节点/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; *原创 2020-11-11 17:32:38 · 92 阅读 · 0 评论