代码编织梦想

力扣刷题(代码回忆录)——单调栈部分_金州饿霸的博客-爱代码爱编程

单调栈:每日温度单调栈:下一个更大元素I单调栈:下一个更大元素II单调栈:接雨水单调栈:柱状图中最大的矩形 单调栈总结 单调递增栈:从 栈底 到 栈顶 递增,栈顶大 单调递减栈:从 栈底 到 栈顶 递减,栈顶小 1:什么时候使用单调栈? 通常是一维数组,要寻找任一元素右边(左边)第一个比自己大(小)的元素,且要求 O(n) 的时间复杂度 2:模板套

力扣刷题(代码回忆录)——动态规划_金州饿霸的博客-爱代码爱编程

关于动态规划,你该了解这些!动态规划:斐波那契数动态规划:爬楼梯动态规划:使用最小花费爬楼梯本周小结!(动态规划系列一)动态规划:不同路径动态规划:不同路径还不够,要有障碍!动态规划:整数拆分,你要怎么拆?动态规划:不同的二叉搜索树本周小结!(动态规划系列二) 背包问题系列: 动态规划:关于01背包问题,你该了解这些!动态规划:关于01背包问题,

代码随想录算法训练营第三十天|332.重新安排行程,51. n皇后,37. 解数独,总结_扭一扭.的博客-爱代码爱编程

332.重新安排行程 力扣 思路: 1. 全局变量:res,以及Map<String,Map<String,Integer>> map;递归函数参数:int ticketNum(表示有多少个航班);返回值:boolean(只需找到一个行程,即树形结构中唯一一条通向叶子节点的路线); 2. 递归终止条件:遇到的机场个数==航班

算法刷题打卡第25天:二叉树的中序遍历---morris 遍历_夏秃然的博客-爱代码爱编程

二叉树的中序遍历 难度:简单 给定一个二叉树的根节点 root ,返回它的中序遍历 。 示例 1: 输入:root = [1,null,2,3] 输出:[1,3,2] 示例 2: 输入:root = [] 输

leetcode·每日一题·795.区间子数组个数·脑筋急转弯_舒迅的博客-爱代码爱编程

作者:小迅 链接:https://leetcode.cn/problems/number-of-subarrays-with-bounded-maximum/solutions/1988397/yi-ci-bian-li-zhu-shi-chao-ji-xiang-xi-b-upk7/来源:力扣(LeetCode) 著作权归作者所有。商业转载请联系作者获得

剑指offer专项突破版(67)—— 最大的异或_亚洲第一中锋_哈达迪的博客-爱代码爱编程

题目 剑指 Offer II 059. 最大的异或 思路 如果找出数组中所有可能由两个数字组成的数对并求出它们的异或,通过比较就能得出最大的异 或值。这种直观的算法的时间复杂度是O(n ^ 2) 整数的异或有一个

leetcode1——两数之和_天糊土的博客-爱代码爱编程

一、提出问题 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target  的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 你可以按任意顺序返回答案。 示例 1: 输入:nums = [2,7,11,15],

leetcode 1742. 盒子中小球的最大数量_ray.c.l的博客-爱代码爱编程

思路:哈希每个盒子编号对应的小球,然后遍历一遍 代码: class Solution { public: int hash[50]; int countBalls(int lowLimit, int

023.二叉树的最近公共祖先_云泊683的博客-爱代码爱编程

题目链接: 236. 二叉树的最近公共祖先 大概思路: 题目要求: 给定一个二叉树, 找到该树中两个指定节点q,p的最近公共祖先x。(q、p一定存在且值不同) 最近公共祖先: 两个节点共同的祖先,同时深度尽可能大(其中一个可以是祖先本身) 思路: q,p的最近公共祖先有两种情况 第一种: 思路就是从底向上遍历,遇见q、p返回其值

力扣刷题(代码回忆录)——二叉树部分_金州饿霸的博客-爱代码爱编程

关于二叉树,你该了解这些!二叉树:二叉树的递归遍历二叉树:二叉树的迭代遍历二叉树:二叉树的统一迭代法二叉树:二叉树的层序遍历二叉树:翻转二叉树本周小结!(二叉树)二叉树:对称二叉树二叉树:二叉树的最大深度二叉树:二叉树的最小深度二叉树:完全二叉树的节点个数二叉树:平衡二叉树二叉树:二叉树的所有路径本周总结!二叉树系列二二叉树:二叉树中递归带着回溯二叉树

​力扣解法汇总795. 区间子数组个数_失落夏天的博客-爱代码爱编程

 目录链接: 力扣编程题-解法汇总_分享+记录-CSDN博客 GitHub同步刷题项目: https://github.com/September26/java-algorithms 原题链接:力扣 描述: 给你一个整数数组 nums 和两个整数:left 及 right 。找出 nums 中连续、非空且其中最大元素在范围 [left

算法刷题打卡第25天:二叉树的前序遍历---morris 遍历_夏秃然的博客-爱代码爱编程

二叉树的前序遍历 难度:简单 给你二叉树的根节点 root ,返回它节点值的前序遍历。 示例 1: 输入:root = [1,null,2,3] 输出:[1,2,3] 示例 2: 输入:root = [] 输

前端算法:两个数组的交集_不动明王大尊的博客-爱代码爱编程

给定两个数组 nums1 和 nums2 ,返回 它们的交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。 示例 1: 输入:nums1 = [1,2,2,1], nums2 = [2,2] 输出:[2] 示例 2: 输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4] 输出:[9,4] 解释:

795. 区间子数组个数_orange_?的博客-爱代码爱编程

目录 题目分析代码 暴力 题目 给你一个整数数组 nums 和两个整数:left 及 right 。找出 nums 中连续、非空且其中最大元素在范围 [left, right] 内的子数组,并返

leetcode 216 组合总和iii_谜底666的博客-爱代码爱编程

题目 找出所有相加之和为 n 的 k 个数的组合,且满足下列条件: 只使用数字1到9 每个数字最多使用一次 返回 所有可能的有效组合的列表 。该列表不能包含相同的组合两次,组合可以以任何顺序返回。 示例 输入: k

第三章:哈希表_ziyu2020的博客-爱代码爱编程

第三章:哈希表 什么时候想到用哈希法,当我们遇到了要快速判断一个元素是否出现集合里的时候,就要考虑哈希法。 leetcode相关题目 ​ ● 242.有效的字母异位词 ​ ● 349. 两个数组的交集 ​ ● 20

2023秋招算法题每日学习(6)_不爱吃核桃的阿伟的博客-爱代码爱编程

DAY 6 1.leetcode 15 三数之和 考察点:哈希解法 双指针法         对于哈希解法比较费时,而且针对去重的操作有很多细节需要考虑,不方便做剪枝操作,该题不推荐使用哈希解法。采用双指针法         双指针法(思路简单,去重操作是关键):时间复杂度:O(n^2)。 解题步骤:         1.先进行排序操作

365天挑战leetcode1000题——day 154 knight_showm3thecode的博客-爱代码爱编程

154天,12次竞赛,573道题目,拿到了knight。 算是到了新的一个阶段吧,正好接下来四周应该都打不了了,因为周末有实验课。 每日一题 class Solution { public: int num

leetcode112.路径总和_l-kkkkk的博客-爱代码爱编程

题目:  没看解析之前自己用深度优先搜索实现:         遍历整棵二叉树,将所有叶子节点的路径之和添加到list中,再遍历list集合,判断是否有targetsum相等的路径。 List<Integer> list = new ArrayList<Integer>(); public boolean hasPath

leetcode:795. 区间子数组个数【单调栈当前元素为最大覆盖的区间 + java练习】_白速龙王的回眸的博客-爱代码爱编程

目录 题目截图题目分析pythonjava总结 题目截图 题目分析 无脑单调栈左右找更大注意一边不取等,一边取等,避免重复找到包含当前元素为最大值的区间个数,左 * 右即可 python class