随想录

代码随想录算法训练营第七天 | 454.四数相加II 、383.赎金信 

📋目录 ✅ 454.四数相加II ➡️ 383.赎金信 ➡️ 15.三数之和 ➡️ 18.四数之和 454.四数相加II ⏰ 1.解题思路 定义一个map,key用来存放a和b的两数之和,value用来存两数之和出现的次数 将四个数组两两分组,nums1和nums2、nums3 和 nums4 定 ......
随想录 训练营 随想 算法 代码

代码随想录算法训练营14期 Day1

数组理论基础 原文:https://github.com/youngyangyang04/leetcode-master/blob/master/problems/数组理论基础.md 704. 二分查找 解析链接:https://programmercarl.com/0704.二分查找.html#_ ......
随想录 训练营 随想 算法 代码

代码随想录Day38-Leetcode509. 斐波那契数,70. 爬楼梯,746. 使用最小花费爬楼梯

咳咳, 因为找实习+摆导致时间被浪费大半; 先从动态规划学起吧,之前的慢慢补。 理论基础 动态规划的解题步骤 1.确定dp数组及对应下标的含义 2.确定dp的状态转移方程(递推公式) 3.确定dp数组如何初始化 4.确定dp遍历顺序 5.距离推导dp数组验证 509. 斐波那契数 题目链接:http ......
楼梯 随想录 随想 Leetcode 代码

day58 代码随想录 739. 每日温度 |

请根据每日 气温 列表,重新生成一个列表。对应位置的输出为:要想观测到更高的气温,至少需要等待的天数。如果气温在这之后都不会升高,请在该位置用 0 来代替。 例如,给定一个列表 temperatures = [73, 74, 75, 71, 69, 72, 76, 73],你的输出应该是 [1, 1 ......
随想录 随想 温度 代码 day

代码随想录算法训练营第六天 | 242.有效的字母异位词 、349. 两个数组的交集 、 202. 快乐数 、 1. 两数之和

📋目录 ✅ 242.有效的字母异位词 ➡️ 349.两个数组的交集 ➡️ 202.快乐数 ➡️ 1.两数之和 242.有效的字母异位词 ⏰ 1.解题思路 创建一个新数组,用来记录字符串中字符出现的次数 相当于将字符映射到数组也就是哈希表的索引下标上 遍历第一个字符串,将出现的字符次数记录+1,关键 ......
随想录 之和 训练营 数组 交集

代码随想录算法训练营第四天 | 24.两两交换链表

📋 目录 24.两两交换链表 24.两两交换链表 ⏰ 1.解题思路 两两元素交换,前面需要一个虚拟节点,才能对后面两个元素进行操作 根据链表的元素个数是奇数还是偶数,得到循环退出的条件。 为偶数,temp.next = null时,即虚拟头节点的下一个节点为null,跳出循环。 为奇数,temp. ......
随想录 训练营 随想 算法 代码

代码随想录算法训练营第三天 | 203.移除链表元素

📋 目录 203.移除链表元素 203.移除链表元素 ⏰ 1.解题思路 链表:A->B->C 删除的节点分为两种:在链表中间部分的节点和头节点,两种节点删除思路不同。 头节点:将头节点向后移动一个位置,删除原来的头节点。 链表中间部分的节点:A节点的next指针指向C节点,从而从链表中删掉B节点, ......
随想录 训练营 随想 算法 元素

代码随想录day01数组part01-704、27

package LeetCode.arraypart01; /** * 704.二分查找 * 给定一个n个元素有序的(升序)整型数组 nums 和一个目标值target ,写一个函数搜索 nums 中的 target, * 如果目标值存在返回下标,否则返回 -1。 */ /** * 思路:设定左右指 ......
随想录 数组 随想 代码 01

代码随想录算法训练营第一天| 704. 二分查找、27. 移除元素。

#目录 一、基础知识 - 二分法解题思路 - 数组中删除的思路 二、题目一:704.二分查找 三、题目二:27.移除元素 #一、基础知识 1.二分法解题思路 要求数组必须是有序排列,仅需要根据题目的条件去确定搜索区间。 第一个关键点:区间的取值。 一般有左闭右闭,左闭右开,左开右闭三种,这个的选择不 ......
随想录 训练营 随想 算法 元素

代码随想录 46天 day198.打家劫舍 | | 337.打家劫舍 III | 213.打家劫舍II

你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。 给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。 示例 ......
打家劫舍 随想录 随想 代码 day

代码随想录 day 46 139.单词拆分

给定一个非空字符串 s 和一个包含非空单词的列表 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词。 说明: 拆分时可以重复使用字典中的单词。 你可以假设字典中没有重复的单词。 示例 1: 输入: s = "leetcode", wordDict = ["leet", " ......
随想录 随想 单词 代码 day

代码随想录算法训练营Day01 | LeetCode704 二分查找、Leetcode27 移除元素

今日学习的视频和文章 代码随想录数组基础 复习基础知识 代码随想录 二分查找 代码随想录 移除元素 LeetCode704 二分查找 题目链接:704. 二分查找 - 力扣(Leetcode) 以前学二分查找的时候,真的一直搞不清楚怎么操作左边界和有边界,以及循环的终止条件是什么,总是自己慢慢调试出 ......
随想录 训练营 随想 算法 LeetCode

day 38代码随想录 509. 斐波那契数 | 使用最小花费爬楼梯

斐波那契数,通常用 F(n) 表示,形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是: F(0) = 0,F(1) = 1 F(n) = F(n - 1) + F(n - 2),其中 n > 1 给你n ,请计算 F(n) 。 示例 1: 输入 ......
随想录 随想 楼梯 代码 day

代码随想录Day22-Leetcode235. 二叉搜索树的最近公共祖先,701.二叉搜索树中的插入操作,450.删除二叉搜索树中的节点

235. 二叉搜索树的最近公共祖先 题目链接:https://leetcode.cn/problems/lowest-common-ancestor-of-a-binary-search-tree/ 又玩了一天,手又生疏了好多; 这道题看了题解,先用公共解法了,之前的题没刷,就给现在留坑了 /** ......
随想录 节点 祖先 随想 Leetcode

day 37代码随想录 738.单调递增的数字 | 968.监控二叉树

给定一个非负整数 N,找出小于或等于 N 的最大的整数,同时这个整数需要满足其各个位数上的数字是单调递增。 (当且仅当每个相邻位数上的数字 x 和 y 满足 x <= y 时,我们称这个整数是单调递增的。) 示例 1: 输入: N = 10 输出: 9 示例 2: 输入: N = 1234 输出: ......
随想录 随想 代码 数字 day

代码随想录Day20-Leetcode654.最大二叉树,617.合并二叉树,700.二叉搜索树中的搜索,98.验证二叉搜索树

654.最大二叉树 题目链接:https://leetcode.cn/problems/maximum-binary-tree/ 基本的模拟思路很快 /** * Definition for a binary tree node. * function TreeNode(val, left, rig ......
随想录 随想 Leetcode 代码 Day

代码随想录Day17-Leetcode110.平衡二叉树,257. 二叉树的所有路径,404.左叶子之和

110.平衡二叉树 题目链接:https://leetcode.cn/problems/balanced-binary-tree/ 一个显然但似乎不太高效的方法是: 通过递归获取左右子树高度,判断差; 然后递归判断左右结点; 那么一个显然的改进就是后序遍历 /** * Definition for ......
随想录 之和 随想 路径 Leetcode

代码随想录day 32● 122.买卖股票的最佳时机II ● 55. 跳跃游戏 ● 45.跳跃游戏II

122.买卖股票的最佳时机II 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。 注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。 示例 1: 输入: [7,1,5,3,6 ......
随想录 随想 时机 代码 股票

代码随想录day 31 455.分发饼干 | 376. 摆动序列 | 53. 最大子序和

455.分发饼干 假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。 对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j,都有一个尺寸 s[j] 。如果 s[j] >= g[i],我们可以将这个饼干 j 分配给孩子 ......
随想录 序列 饼干 随想 代码

代码随想录Day16-Leetcode104. 二叉树的最大深度,111.二叉树的最小深度 ,222.完全二叉树的节点个数

104. 二叉树的最大深度 首先是层序遍历 /** * Definition for a binary tree node. * function TreeNode(val, left, right) { * this.val = (val undefined ? 0 : val) * this.l ......
深度 随想录 节点 随想 个数

代码随想录day 30 332.重新安排行程 | n皇后 | 37. 解数独

给定一个机票的字符串二维数组 [from, to],子数组中的两个成员分别表示飞机出发和降落的机场地点,对该行程进行重新规划排序。所有这些机票都属于一个从 JFK(肯尼迪国际机场)出发的先生,所以该行程必须从 JFK 开始。 提示: 如果存在多种有效的行程,请你按字符自然排序返回最小的行程组合。例如 ......
解数 随想录 随想 皇后 行程

代码随想录Day15-Leetcode102. 二叉树的层序遍历,226.翻转二叉树,101. 对称二叉树

102. 二叉树的层序遍历 题目链接:https://leetcode.cn/problems/binary-tree-level-order-traversal/ bfs,队列,记录下本层的数量和下一层的数量 /** * Definition for a binary tree node. * f ......
随想录 随想 Leetcode 代码 Day

代码随想录day 28 491. 递增子序列 | * 46.全排列 | 47.全排列 II

给定一个整型数组, 你的任务是找到所有该数组的递增子序列,递增子序列的长度至少是2。 示例: 输入: [4, 6, 7, 7] 输出: [[4, 6], [4, 7], [4, 6, 7], [4, 6, 7, 7], [6, 7], [6, 7, 7], [7,7], [4,7,7]] 说明: 给 ......
随想录 序列 随想 代码 day

代码随想录Day14-Leetcode144. 二叉树的前序遍历,94.二叉树的中序遍历,145.二叉树的后序遍历

递归遍历 前序遍历:根左右 一路俯冲,然后回头 /** * Definition for a binary tree node. * function TreeNode(val, left, right) { * this.val = (val undefined ? 0 : val) * this ......
随想录 随想 Leetcode 代码 Day

代码随想录day 28 93.复原IP地址 | 78.子集 | 90.子集II

给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式。 有效的 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 '.' 分隔。 例如:"0.1.2.201" 和 "192.168.1.1" 是 有效的 IP 地址,但是 "0.011 ......
子集 随想录 随想 代码 地址

代码随想录算法训练营Day55 动态规划

#代码随想录算法训练营 代码随想录算法训练营Day55 动态规划| 392.判断子序列 115.不同的子序 392.判断子序列 题目链接:392.判断子序列 给定字符串 s 和 t ,判断 s 是否为 t 的子序列。 字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置 ......
随想录 训练营 随想 算法 代码

代码随想录 day27 39. 组合总和 | 40.组合总和II | 131.分割回文串

39. 组合总和 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 ,并以列表形式返回。你可以按 任意顺序 返回这些组合。 candidates 中的 同一个 数字可以 无限制 ......
总和 随想录 回文 随想 代码

代码随想录Day11-Leetcode20. 有效的括号,1047. 删除字符串中的所有相邻重复项,150. 逆波兰表达式求值

20. 有效的括号 写过很多遍了,但还是不能秒a /** * @param {string} s * @return {boolean} */ var isValid = function(s) { let stack = [] let obj = {'(':')', '[':']', '{':'} ......
随想录 括号 表达式 字符串 随想

代码随想录Day13-Leetcode239. 滑动窗口最大值,347.前 K 个高频元素,栈和队列总结

239. 滑动窗口最大值 一开始没有思路,暴力了,然后果然超时; 看提示中的单调队列没有特别明白;后面反应过来跟单调栈很像; 也确实很符合本题的情况,一旦队尾出现更大的数,前面更小的数就不需要了, 他们不会成为最大数被弹出后的备选。 值得注意的是本题数次出现区间错误,一开始我的操作居然是删除q[l] ......
随想录 最大值 队列 随想 Leetcode

代码随想录--二叉树

二叉树 二叉树--二叉树的递归遍历 题目: 144.二叉树的前序遍历(opens new window) 145.二叉树的后序遍历(opens new window) 94.二叉树的中序遍历 题解: 前序遍历 class Solution { public List<Integer> preorde ......
随想录 随想 代码