队列 随想录 随想leetcode

[代码随想录] 第一天

704.二分查找 [https://leetcode.cn/problems/binary-search/description/] 思路: 二分查找适用于在有序数组中查找目标值,左边边界为left,右边边界为right,每次使用middle=(right+left)/2,将原数组划分为[left, ......
随想录 随想 代码

day13 代码随想录算法训练营 递归遍历

题目: 144.二叉树的前序遍历 145.二叉树的后序遍历 94.二叉树的中序遍历 我的感悟: 用helper内部函数写更好 理解难点: 代码难点: 代码示例: 前序 # Definition for a binary tree node. # class TreeNode: # def __ini ......
随想录 训练营 随想 算法 代码

leetcode 11.盛最多水的容器

leetcode 11.盛最多水的容器 第十一题:盛最多水的容器 1.暴力枚举: 会超时,但是做一些条件判断应该可以擦边过 public int maxArea(int[] height) { int max_result = 0; for (int i = 0;i<height.length-1; ......
容器 leetcode 11

栈和队列

栈的变种,迎面增长的栈和底部相连的栈 错误 只是rear和front指针在移动 如果是虚指针 转进制,1234除以8的余数为2、2、3、2。再倒序输出,选B 虚指针。25-29有5个数,11-5=6.最后一个数据的下标为5,rear只是对队尾元素的后一个位置,所以是6. 入栈顺序是123456,出栈 ......
队列

[LeetCode] 2696. Minimum String Length After Removing Substrings

You are given a string s consisting only of uppercase English letters. You can apply some operations to this string where, in one operation, you can r ......
Substrings LeetCode Removing Minimum Length

刷题 链表 优先队列

2024.1.9 cf Hello 2024 1919D 解题思路 这题理解一下就是,找出数组中每一个比左数或右数大1的数,从大到小(体现优先队列)删除(体现链表),对访问过的数打个标记(vis),最后数组里的数要么被打过标记,要么是0. 代码 #include<bits/stdc++.h> usi ......
队列

代码随想录 day13 滑动窗口最大值 前 K 个高频元素

滑动窗口最大值 这题第一次见 比较难找到思路 滑动窗口的移动比较类似于队列的行为 但是我们需要找到其中的最大值 在线性时间复杂度下 只能维护这个队列保持单调性 但是我们没有这样的一个可以在移动中保持单调的数据结构 只能自己手动创建 我们利用deque进行队列的创建 这个队列有三个基本函数 pop 用 ......
随想录 最大值 随想 元素 代码

day13 代码随想录算法训练营 347. 前 K 个高频元素 【待梳理】

题目:347. 前 K 个高频元素 我的感悟: 我用hash再排序。 卡尔用的小顶堆。 `heapq`是Python中的一个模块,它提供了堆队列(也称优先队列或者堆)的算法实现。在计算机科学中,堆是一种特殊的完全二叉树数据结构,其中每个父节点的值都小于或等于其子节点的值(在最小堆中)或者父节点的值都 ......
随想录 训练营 随想 算法 元素

LeetCode 872

Leaf-Similar Trees Leaf-Similar Trees - LeetCode Thinkings 二叉树无论先中后序遍历,所得叶子节点次序不变. Codes 我采用了非递归的中序遍历方式: /** * Definition for a binary tree node. * st ......
LeetCode 872

day13 代码随想录算法训练营 239. 滑动窗口最大值

题目:239. 滑动窗口最大值 我的感悟: 来难度了,有点意思, 理解难点: 需要实现自定义队列, 看了国外的解题思路和其他的回答,感觉还是卡尔的思路,更有意思。 实现队列: pop只弹出左边边界且左边界为最大值的时候 push 要维护队列里的大到小的单调性。把队尾小的都卷走 front查询最大值 ......
随想录 最大值 训练营 随想 算法

阻塞队列(BlockingQueue)

阻塞队列(BlockingQueue) 实现了:BlockingQueue JDK提供的七个阻塞队列 一、特点 1、JDK提供的七个阻塞队列简介 ①. ArrayBlockingQueue 有界 阻塞队列——必须指定大小——数组 ②. LinkedBlockingQueue 有界 阻塞队列——默认大 ......
队列 BlockingQueue

常用容器:动态数组array、列表list、队列 queue、map或字典、 集合、栈等等

一般语言都会提供一些逻辑容器的实现,各个语言的实现方式不同;底层的数学算法应该差不多; # 动态数组, 这个没啥可说的,就是一个数组,满了时候,再创建一个数组,把之前的数组里的数据移过来,销毁之前数组; ......
队列 数组 字典 容器 常用

leetcode 5.最长回文子串

leetcode 5.最长回文子串 第五题:最长回文子串 1.中心拓展: 我们枚举所有的「回文中心」并尝试「扩展」,直到无法扩展为止,此时的回文串长度即为此「回文中心」下的最长回文串长度。我们对所有的长度求出最大值,即可得到最终的答案。拓展分为两种情况,奇数长度和偶数长度,分别拓展一次取较大值,同时 ......
回文 leetcode

单调栈与单调队列

单调栈是一种内部元素具有单调性的栈,可以解决求“以某个值为最值的最大区间”等问题。 单调队列是一种内部元素具有单调性的队列,可以解决求“区间内最值”等问题。 ......
队列

代码随想录 day14 二叉树的递归遍历 迭代遍历(栈) 统一遍历(栈)

二叉树的节点的孩子数量称之为度 所有节点度为0或2的二叉树是满二叉树 完全二叉树是所有非叶节点都是度为2的节点 叶子都尽可能的靠左 前序遍历:中左右 中序遍历:左中右 后续遍历:左右中 这里左右中指的是当前节点的遍历顺序 中就是先遍历当前节点 再遍历子树 前序遍历递归代码: 中序遍历递归代码: 后序 ......
随想录 随想 代码 day 14

代码随想录算法训练营第二十七天 | 39. 组合总和,40.组合总和II,131.分割回文串

一、39. 组合总和 题目链接: LeetCode 39. 组合总和 学习前: 思路: 无 学习后: 思路: 需要额外定义的成员变量: private List<List<Integer>> res; private List<Integer> list; 调用函数: List<List<Integ ......
总和 随想录 回文 训练营 随想

数据结构-单调队列

单调队列使用范围: 滑动区间的极值查询与维护 单调队列的原理: 单调队列需要持续维护队列的单调性,我们假设该队列为单增队列,那么最小值可以在队尾取得。 如图是一个刚建立的队列 接下来思考插入一个元素怎么处理:我们从队首开始看,如果队首的元素比目前需要插入的值大,那么原先队列的那个值在滑动过程中就不会 ......
数据结构 队列 结构 数据

编程随想曲周刊(第62期)

这里记录每周的所见所闻,周日发布。点击阅读原文可以直接访问文章链接。 工具 自动清除网站加在 URL 后面的冗余内容:ClearURLs 文章 去做吧,停止空谈 卸磨杀罗振宇 新巨富是如何诞生的 生活 泼天的富贵终于轮到哈尔滨了 孙燕姿妹妹发文:无法忍受姐姐的所作所为,决定断绝关系! 播客 东方甄选 ......
随想曲 随想 周刊

day11 代码随想录算法训练营 150. 逆波兰表达式求值

题目:150. 逆波兰表达式求值 我的感悟: 注意int(a/b)是0向截断 比如 -2.3 会得到-2; 比如3.6 会得到3 a//b是向下取整,比如是-2.3 会得到-3;比如3.6 会得到3 主要是负数不同 理解难点: 0向取整注意 注意先弹出的是右边的,(想象二叉树的结构。先弹出的是右边节 ......
随想录 训练营 表达式 随想 算法

day11 代码随想录算法训练营 1047. 删除字符串中的所有相邻重复项

题目:1047. 删除字符串中的所有相邻重复项 我的感悟: 做过的题,还是有印象的。 本身也不难,独立写出来了。 理解难点: 代码难点: 代码示例: class Solution: def removeDuplicates(self, s: str) -> str: stack = [] for i ......
随想录 训练营 字符串 随想 算法

[刷题班] LeetCode283. 移动零

题目描述 方法一:时间复杂度O(n2) class Solution { public void moveZeroes(int[] nums) { for (int i = 0; i < nums.length; i ++) { // 指针i为0的时候停止 if (nums[i] == 0) { / ......
LeetCode 283

[刷题班] LeetCode1002. 查找共用字符

题目描述 思路 关键字:“小写字母”、“出现频率”这些关键字都是为哈希法量身定做的。 求每个字符在所有字符串中最小出现的次数。最小次数为几就在结果集中添加几次该字符。 方法一: class Solution { public List<String> commonChars(String[] wor ......
字符 LeetCode 1002

[刷题班] LeetCode448. 找到所有数组中消失的数字

题目描述 思路 原地哈希: 找到数字i时,将位置i-1处的数字翻转为负数 如果位置i-1上的数组已经为负数,则不进行任何操作 再次遍历数组,将数值大于0的元素的下标+1加入到结果集中 方法一: class Solution { public List<Integer> findDisappeared ......
数组 LeetCode 数字 448

[刷题班] LeetCode442. 数组中重复的数据

题目描述 思路 原地哈希: 利用值域与数组下标空间大小的等同关系,我们可以构造一种对应"关系" 找到数字i时,将位置i-1处的数字翻转为负数 如果位置i-1上的数组已经为负数,则i是出现两次的数字,并将其加入到结果集中 方法一: class Solution { public List<Intege ......
数组 LeetCode 数据 442

day11 代码随想录算法训练营 20. 有效的括号

题目:20. 有效的括号 我的感悟: 脑回路清奇 理解难点: 遇到左括号存对应的右括号 3中情况, 1.左括号多了 2.右括号多了 3.左右括号不匹配 剪枝:奇数可以直接剪枝 注意为空的判断,防止报错 代码难点: 存3种情况 23情况要返回False 其他直接pop 最后判断stack栈为不为空,来 ......
随想录 括号 训练营 随想 算法

第十节:高阶队列详解(双端队列、优先级队列)

一. 二. 三. ! 作 者 : Yaopengfei(姚鹏飞) 博客地址 : http://www.cnblogs.com/yaopengfei/ 声 明1 : 如有错误,欢迎讨论,请勿谩骂^_^。 声 明2 : 原创博客请在转载时保留原文链接或在文章开头加上本人博客地址,否则保留追究法律责任的权 ......
队列 优先级 高阶

[LeetCode] 1979. Find Greatest Common Divisor of Array

Given an integer array nums, return the greatest common divisor of the smallest number and largest number in nums. The greatest common divisor of two ......
LeetCode Greatest Divisor Common Array

[LeetCode] 2807. Insert Greatest Common Divisors in Linked List

Given the head of a linked list head, in which each node contains an integer value. Between every pair of adjacent nodes, insert a new node with a val ......
LeetCode Greatest Divisors Insert Common

STM32_RTOS_V2编程模板1-消息队列

/*QUEUE1*/ // 1DEFINE osMessageQueueId_t queueDemo1 = NULL; // 2INIT queueDemo1 = osMessageQueueNew(8, sizeof(uint16_t), NULL); // 3PUT static uint16_ ......
队列 模板 消息 RTOS_V RTOS

leetcode 4. 寻找两个正序数组的中位数

leetcode 4. 寻找两个正序数组的中位数 第四题:寻找两个正序数组的中位数 1.合并数组,排序,找中位数 ​ 暴力解法,时间复杂度(M+N),空间复杂度(M+N) public double findMedianSortedArrays(int[] nums1, int[] nums2) { ......
中位数 数组 leetcode 两个
共4000篇  :2/134页 首页上一页2下一页尾页