打家劫舍leetcode 198

LeetCode —— 排序

148. 排序链表 一般都用归并排序,因为是单向链表,其它排序算法根据下标找元素,向前遍历等都比较困难 主函数流程是: 如果 head==null || head.next==null return head。因为 head.next == null 即只有一个元素时,不用再划分了,而且一个元素本身 ......
LeetCode

【LeetCode动态规划#17】知道秘密的人,维护多个dp数组

### 知道秘密的人数 在第 1 天,有一个人发现了一个秘密。 给你一个整数 delay ,表示每个人会在发现秘密后的 delay 天之后,每天 给一个新的人 分享 秘密。同时给你一个整数 forget ,表示每个人在发现秘密 forget 天之后会 忘记 这个秘密。一个人 不能 在忘记秘密那一天及 ......
数组 LeetCode 多个 秘密 动态

【LeetCode回溯算法#12】二叉树的直径,树形dp的前置内容(使用dfs)

### 二叉树的直径 给你一棵二叉树的根节点,返回该树的 **直径** 。 二叉树的 **直径** 是指树中任意两个节点之间最长路径的 **长度** 。这条路径可能经过也可能不经过根节点 `root` 。 两节点之间路径的 **长度** 由它们之间边数表示。 **示例 1:** ``` 输入:roo ......
树形 直径 算法 LeetCode 内容

Leetcode 228. 汇总区间

# 1.题目描述 给定一个 无重复元素 的 有序 整数数组 nums 。 返回 恰好覆盖数组中所有数字 的 最小有序 区间范围列表 。也就是说,nums 的每个元素都恰好被某个区间范围所覆盖,并且不存在属于某个范围但不属于 nums 的数字 x 。 列表中的每个区间范围 [a,b] 应该按如下格式输 ......
区间 Leetcode 228

LeetCode 131. 分割回文串

#题目链接:[LeetCode 131. 分割回文串](https://leetcode.cn/problems/palindrome-partitioning/description/) ##题意: 给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是 回文串 。返回 s 所有可能的分割 ......
回文 LeetCode 131

Leetcode 454. 四数相加 II(4sum ii)

[题目链接](https://leetcode.cn/problems/4sum-ii) 给你四个整数数组 nums1、nums2、nums3 和 nums4 ,数组长度都是 n ,请你计算有多少个元组 (i, j, k, l) 能满足: - 0 nums1[0] + nums2[0] + nums ......
Leetcode 4sum 454 sum II

[刷题记录Day21]Leetcode

# No.1 ## 题目 [二叉搜索树的最小绝对差](https://leetcode.cn/problems/minimum-absolute-difference-in-bst/) ## 思路 - 中序遍历的BST是有序序列 - 最小绝对差一定是在相邻的数组元素间 ## 代码 ```Java p ......
Leetcode Day 21

[刷题记录Day20]Leetcode二叉树

# No.1 ## 题目 [最大二叉树](https://leetcode.cn/problems/maximum-binary-tree/) ## 思路 - 递归法 - 注意保持区间定义一致`[left, right)` ## 递归分析 1. **返回值**:节点,**参数**:数组,起点,终点 ......
Leetcode Day 20

Leetcode 344. 反转字符串(Reverse string)

[题目链接🔗](https://leetcode.cn/problems/reverse-string) 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。 不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。 示例 1 ......
字符串 字符 Leetcode Reverse string

[刷题记录Day14]Leetcode二叉树

# No.1 ## 题目 [前序遍历](https://leetcode.cn/problems/binary-tree-preorder-traversal/) ## 思路 - 递归法 ## 代码 ```Java public void Traverse(TreeNode node, List l ......
Leetcode Day 14

[刷题记录Day15]Leetcode二叉树

# No.1 ## 题目 [二叉树的层序遍历](https://leetcode.cn/problems/binary-tree-level-order-traversal/) ## 思路 - 使用队列 - 关键点:1. 每进入一层,层内的节点都被处理完成 2. 开始遍历层内的节点前,必须先记录该层 ......
Leetcode Day 15

[刷题记录Day16]Leetcode二叉树

# No.1 ## 题目 [二叉树的最大深度](https://leetcode.cn/problems/maximum-depth-of-binary-tree/) ## 思路 - 递归 - 其实是后序遍历的方式 ## 代码 ```Java public int maxDepth(TreeNode ......
Leetcode Day 16

[刷题记录Day17]Leetcode二叉树

# No.1 ## 题目 [平衡二叉树](https://leetcode.cn/problems/balanced-binary-tree/) ## 思路 - 递归法 - 在遍历中比较左右子树的高度差 ## 递归分析 1. **参数**:当前传入节点。 **返回值**:以当前传入节点为根节点的树的 ......
Leetcode Day 17

[刷题记录Day18]Leetcode二叉树

# No.1 ## 题目 [找树左下角的值](https://leetcode.cn/problems/find-bottom-left-tree-value/) ## 思路 - 队列,层序遍历 - Deque既可以用作栈也可以用作队列,谨慎使用 ## 代码 ```Java public int f ......
Leetcode Day 18

[刷题记录Day11]Leetcode

# No.1 ## 题目 [有效的括号](https://leetcode.cn/problems/valid-parentheses/) ## 思路 - 奇数个符号一定不符合 - 分析括号不匹配的可能性 - 第一种情况,字符串里左方向的括号多余了 ,所以不匹配 ![[brackets0.png]] ......
Leetcode Day 11

[刷题记录Day13]Leetcode

# No.1 ## 题目 [滑动窗口最大值](https://leetcode.cn/problems/sliding-window-maximum/) ## 思路 - 编写单调队列类 - [讲解](https://programmercarl.com/0239.%E6%BB%91%E5%8A%A8 ......
Leetcode Day 13

[刷题记录Day10]Leetcode

# No.1 ## 题目 [用栈实现队列](https://leetcode.cn/problems/implement-queue-using-stacks/) ## 思路 - 模拟 - 一个入栈一个出栈 ## 代码 ```Java class MyQueue { private Stack st ......
Leetcode Day 10

[刷题记录Day8]Leetcode

# No.1 ## 题目 [反转字符串](https://leetcode.cn/problems/reverse-string/) ## 思路 - 双指针,从头尾向中间遍历 ## 代码 ```Java public void reverseString(char[] s) { char temp; ......
Leetcode Day8 Day

[刷题记录Day9]Leetcode

>建议跳过 # No.1 ## 题目 [找出字符串中第一个匹配项的下标](https://leetcode.cn/problems/find-the-index-of-the-first-occurrence-in-a-string/) ## 思路 - KMP ## 代码 ```Java ``` # ......
Leetcode Day9 Day

[刷题记录Day7]Leetcode哈希表

# No.1 ## 题目 [四数相加 II](https://leetcode.cn/problems/4sum-ii/) ## 思路 - 很妙的办法:有四个数组A、B、C、D,用hashMap记录【A、B中数字之和】+【这些和出现的次数】,再遍历C、D中数字组合,寻找【0-C、D中数字之和】在ha ......
Leetcode Day7 Day

[刷题记录Day6]Leetcode哈希表

# No.1 ## 题目 [有效的字母异位词](https://leetcode.cn/problems/valid-anagram/) ## 思路 - 每个字符频率都相同,于是把字母表映射到长度为26的数组上 ## 代码 ```Java public boolean isAnagram(Strin ......
Leetcode Day6 Day

VSCode使用JavaScript刷LeetCode配置教程(亲试可以!)

账号秘密都对,但是缺登录不成功的问题 诀窍可能是: 在属性设置中把LeetCode版本改成cn。点击LeetCode配置,修改Endpoint配置项,改成leetcode-cn,再次尝试登陆即可。 大家可移步原博文:https://blog.csdn.net/qq_37263248/article/ ......
JavaScript LeetCode 教程 VSCode

leetcode1260

这是一道模拟题 刚开始准备纯模拟,而后在题解看到一维压缩,才发现其实是将矩阵按行展开后进行k次右移操作。 转换成一维后,难点就在转换坐标:行号 = idx / 列数;列号 = idx % 列数; ......
leetcode 1260

[LeetCode][279]perfect-squares

# Content Given an integer n, return the least number of perfect square numbers that sum to n. A perfect square is an integer that is the square of an ......
perfect-squares LeetCode perfect squares 279

leetcode236求最近公共祖先

递归 TreeNode* dfs(TreeNode* root,TreeNode* p,TreeNode* q){ if(!root)return root;//当发现这个节点已经是叶节点时,要告诉上层 if(root==p||root==q)return root;//当发现是p节点或者q时也要告 ......
祖先 leetcode 236

Leetcode1636——按照频率将数组升序排序

给你一个整数数组 nums ,请你将数组按照每个值的频率 升序 排序。如果有多个值的频率相同,请你按照数值本身将它们 降序 排序。 请你返回排序后的数组。 示例 1: 输入:nums = [1,1,2,2,2,3] 输出:[3,1,1,2,2,2] 解释:'3' 频率为 1,'1' 频率为 2,'2 ......
升序 数组 频率 Leetcode 1636

【LeetCode动态规划#16】矩阵的最小路径和、三角形的最小路径和

### 矩阵的最小路径和 给定一个包含非负整数的 `*m* x *n*` 网格 `grid` ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。 **说明:**一个机器人每次只能向下或者向右移动一步。 **示例 1:** ``` 输入:grid = [[1,3,1],[1,5,1],[ ......
路径 矩阵 三角形 LeetCode 动态

[LeetCode][221]maximal-square

# Content Given an m x n binary matrix filled with 0's and 1's, find the largest square containing only 1's and return its area. Example 1: Input: mat ......
maximal-square LeetCode maximal square 221

[LeetCode][198]house-robber

# Content You are a professional robber planning to rob houses along a street. Each house has a certain amount of money stashed, the only constraint s ......
house-robber LeetCode robber house 198

【LeetCode动态规划#15】最长公共子序列II

### 最长公共子序列(二) #### 描述 给定两个字符串str1和str2,输出两个字符串的最长公共子序列。如果最长公共子序列为空,则返回"-1"。目前给出的数据,仅仅会存在一个最长的公共子序列 数据范围:0≤∣���1∣,∣���2∣≤20000≤∣*s**t**r*1∣,∣*s**t**r* ......
序列 LeetCode 动态 15