代码编织梦想

代码随想录day11 | leetcode150. 逆波兰表达式求值 239. 滑动窗口最大值 347.前 k 个高频元素_【问题描述】 逆波兰式也叫后缀表达式(将运算符写在操作数之后) 如:我们平时写a+b-爱代码爱编程

逆波兰表达式求值 逆波兰式(Reverse Polish Notation,RPN,或逆波兰记法),也叫后缀表达式(将运算符写在操作数之后)。 如:我们平时写a+b,这是中缀表达式,写成后缀表达式就是:ab+ (a+b

leetcode 239. 滑动窗口最大值 代码随想录刷题日记-爱代码爱编程

题目 给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回 滑动窗口中的最大值 。 示例 1 输入:nums = [1,3,-1,-3,5,3,6,7], k = 3 输出:[3,3,5,5,6,7] 解释: 滑动窗口的位置

代码随想录第二天:滑动窗口、前缀和-爱代码爱编程

1.最小长度子数组 题目链接:. - 力扣(LeetCode) 文章讲解:代码随想录 视频讲解:拿下滑动窗口! | LeetCode 209 长度最小的子数组_哔哩哔哩_bilibili 本题使用滑动窗口思想,要注意子数组在原数组中是连续的。 定义左右窗口指针,统计窗口内部数字之和。 如果和小于目标值,就让右指针向右移动,和

代码随想录算法训练营day48 | 图论理论基础、深搜理论基础、98. 所有可达路径、广搜理论基础-爱代码爱编程

文章目录 图论理论基础深搜理论基础98. 所有可达路径思路与重点 广搜理论基础 图论理论基础 讲解链接:代码随想录 深搜理论基础 讲解链接:代码随想录 98. 所有可达路径 题目链

代码随想录day6 | 哈希表理论基础 leetcode242.有效的字母异位词 349. 两个数组的交集 202. 快乐数 1. 两数之和-爱代码爱编程

哈希表:哈希表理论基础 哈希函数是将输入(键)映射到一个固定范围内的整数的函数。这个整数通常作为数组的索引,用于定位存储值的位置。 冲突解决: 冲突是哈希表不可避免的问题,以下是几种常见的冲突解决方法: 链地址法:每个

代码随想录第五天| 哈希表理论基础 242.有效的字母异位词 349. 两个数组的交集 202. 快乐数 1. 两数之和-爱代码爱编程

242.有效的字母异位词 思路:用空间换时间 定义足够大小数组记录字母出现的次数 class Solution { public: bool isAnagram(string s, string t) { int record[26]; for(int i=0;i<s.size();i++){

动态规划解决零钱兑换问题-爱代码爱编程

代码随想录链接:代码随想录 题目描述: 给定不同面额的硬币coins和一个总金额amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回-1 思路: 每种硬币的数量是无限的,可以看出是典型的完全背包问题 (1).确定dp数组的形式及其表示的含义: 采用一维数组的形式,其中数组长度为amoun

代码随想录算法训练营第 5 天(哈希表1)| 242.有效的字母异位词 349. 两个数组的交集 202. 快乐数 1. 两数之和-爱代码爱编程

当我们遇到了要快速判断一个元素是否出现集合里的时候,就要考虑哈希法 数据小用数组,数据大用set,数据比较散用map 一、242.有效的字母异位词 题目:242. 有效的字母异位词 - 力扣(LeetCode)

代码随想录算法训练营第50天| leetcode 123.买卖股票的最佳时机iii、leetcode 188.买卖股票的最佳时机iv_买卖股票的最佳时机 iii 贪心-爱代码爱编程

文章目录 Leetcode 123.买卖股票的最佳时机IIILeetcode 188.买卖股票的最佳时机IV Leetcode 123.买卖股票的最佳时机III 题目链接

代码随想录算法训练营第五十二天|123.买卖股票的最佳时机iii 、188.买卖股票的最佳时机iv-爱代码爱编程

代码随想录算法训练营第五十二天 123.买卖股票的最佳时机III 题目链接:123.买卖股票的最佳时机III 确定dp数组以及下标的含义: dp[i][0]:不进行买卖操作; dp[i][1]:第i天第一次持有股票的

1.2 移除数组 1.3 有序数组的平方-爱代码爱编程

这次整理的是代码随想录的数组部分移除数组和有序数组的平方的题目,总共5道。 直接开始刷题 leetcode 27 移除数组 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素。元素

# 代码随想录算法训练营第45天| 70. 爬楼梯(进阶)、322. 零钱兑换、279.完全平方数-爱代码爱编程

70. 爬楼梯(进阶) 完成 思路: 之前做过爬楼梯,每次只爬1阶或2阶,本题可以爬1~m阶楼梯。可以转化为完全背包问题,为什么不是01背包呢?因为每个台阶层数都可以多次选择。 楼梯的总台阶数就是背包容量,

代码随想录|day2| 209.长度最小的子数组,59.螺旋矩阵ii,区间和,开发商购买土地+数组简单总结-爱代码爱编程

209.长度最小的子数组 题目链接:https://leetcode.cn/problems/minimum-size-subarray-sum/ 文章讲解:https://programmercarl.com/0209

代码随想录day2 | leetcode209.长度最小的子数组 | 59.螺旋矩阵ii | 区间和|数组总结-爱代码爱编程

最小子数组 1.暴力搜索 public static int minSubArrayLen(int target, int[] nums) { int minLen = Integer.MAX_V

代码随想录 -爱代码爱编程

59. 螺旋矩阵 II - 力扣(LeetCode) 每画一条边都要坚持一致的左闭右开 注意处理n为奇数时的矩阵中心点 class Solution(object): def generateMatrix(self, n): res = [[0]*n for a in range(n)] startX=0

116.数组:螺旋矩阵||(代码随想录)-爱代码爱编程

求解本题依然是要坚持循环不变量原则。 模拟顺时针画矩阵的过程: 填充上行从左到右填充右列从上到下填充下行从右到左填充左列从下到上 由外向内一圈一圈这么画下去。 代码解答: class Solution { public: vector<vector<int>> generateMatrix(int n) {

代码随想录算法训练营第十八天| 530.二叉搜索树的最小绝对差 、501.二叉搜索树中的众数、236. 二叉树的最近公共祖先-爱代码爱编程

 目录  530.二叉搜索树的最小绝对差 思路: 方法一: 方法二: 501.二叉搜索树中的众数 方法一: 方法二: 236. 二叉树的最近公共祖先  方法一: 方法二: 530.二叉搜索树的最小绝对差 题目链接:530. 二叉搜索树的最小绝对差 - 力扣(LeetCode) 思路: 由于二叉搜索树的特征,按照中序遍历(左、

代码随想录算法训练营第三十七天|738.单调递增的数字、968.监控二叉树、总结-爱代码爱编程

题目:738.单调递增的数字 文章链接:代码随想录 视频链接:LeetCode:738.单调递增的数字 题目链接:力扣题目链接 图释: 从后向前遍历,当后一位数大于前一位位数时,前一位数减减,后一位数赋值为9(最大) class Solution { public: int monotoneIncreasingDigits(int n)

代码随想录算法训练营第三十九天|738.单调递增的数字、968.监控二叉树、总结-爱代码爱编程

代码随想录算法训练营第三十九天 738.单调递增的数字 题目链接:738.单调递增的数字 将数字转换成字符串方便遍历,从后向前如果不符合单调递增就把前一位减一当前位变成9。最后将字符串转回数字。(一位数返回其本身) c

代码随想录训练营第二十一天|530.二叉搜索树的最小绝对差,501.二叉搜索树的众数,236.二叉树的最近公共祖先-爱代码爱编程

 530. 二叉搜索树的最小绝对差 - 力扣(Leetcode) 利用二叉搜索树特性,构造递增数组解决  class Solution { public: vector<int>result; void traversal(TreeNode* node) { if(node==NULL)retur