513. 找树左下角的值 题目链接:https://leetcode.cn/problems/find-bottom-left-tree-value/ 题目难度:中等 文章讲解:https://programmercarl.com/0513.找树左下角的值.html 视频讲解:https://www ...
NTP时间同步服务器(卫星时钟同步装置)基本架构介绍 NTP时间同步服务器(卫星时钟同步装置)基本架构介绍 京准电钟官微——ahjzsz 摘要:基于北斗的全球卫星系统(BDS)的高精度同步时钟信号在电网广域测量系统(WAMS)等很多领域具有广泛用途;但在实际应用中存在因卫星失锁等原因导致同步时钟信号 ...
使用 goyacc 工具構建語法分析程序 前言 本文仅讨论 goyacc 工具的应用, 而不是编译原理的基础知识. 故想要流畅地阅读本文, 需要首先理解以下问题: 词法分析, 语法分析分别是什么? 正规文法, 上下文无关文法, 上下文有关文法有何区别? 终结符, 非终结符各指代什么? 想要更好地运用 ...
110. 平衡二叉树 题目链接:https://leetcode.cn/problems/balanced-binary-tree/ 题目难度:简单 文章讲解:https://programmercarl.com/0110.平衡二叉树.html 视频讲解:https://www.bilibili.c ...
针对于知识回顾/复习,发现一些博客对于一些名词的定义各不相同,于是自己对于部分容易混淆的定义作一个简单的记录。 详细关于二叉树的内容可以看:二叉树-Hello算法,部分博客内容来自其中。 名词定义 1. 层 层(Level):二叉树中的所有节点可以根据与根节点的距离分成不同的层次。根节点位于第 0 ...
最近公共祖先(\(LCA\)) 对于任意一棵树: 一个节点的父节点、父节点的父结点、父节点的父节点的父节点 · · · · · · (此处省略 114514 个套娃) ,以及这个节点本身,都叫做这个节点的 祖先 。两个及以上节点共同的祖先,叫做这两个及以上节点的 公共祖先 。其中深度最深的那一个公共 ...
226. 翻转二叉树 题目链接:https://leetcode.cn/problems/invert-binary-tree/ 题目难度:简单 文章讲解:https://programmercarl.com/0226.翻转二叉树.html 视频讲解:https://www.bilibili.com ...
二叉树的基本知识 链接:https://programmercarl.com/二叉树理论基础.html 要点: 深度优先遍历 前序遍历(递归法,迭代法) 中序遍历(递归法,迭代法) 后序遍历(递归法,迭代法) 广度优先遍历 层次遍历(迭代法) 由于栈就是递归的一种实现结构,因此前中后序遍历的逻辑可以 ...
A - Buy a Pen (abc362 A) 题目大意 给定红蓝绿三支笔的价格,并不买指定颜色的笔,问买一支笔最少需要多少钱。 解题思路 三种情况逐一判断,取最小即可。 神奇的代码 #include <bits/stdc++.h> using namespace std; using LL = ...
在本次比赛中共获得了 $1650$ 分,$3$ 次罚时。在总共 $11000$ 人的比赛中排名 $1062$,其中 $\text{perf}$ 为 $1585$,低于预期。主要失分在了一些细节上,导致时间不足。比如存浮点数时变量写成整型,在处理更改了动规意义的方程边界时没有仔细想好怎么设置,将 $\... ...
150. 逆波兰表达式求值 题目链接:https://leetcode.cn/problems/evaluate-reverse-polish-notation/ 题目难度:中等 文章讲解:https://programmercarl.com/0150.逆波兰表达式求值.html 视频讲解:http ...
在解决形如 $f_i=\max(f_j+x)$,$x$ 为一些式子的时候可以考虑使用斜率优化,将 $x$ 转成函数然后求这些能取到的函数在 $x$ 上的最高或最低点,从而得到优化。 ...
232. 用栈实现队列 题目链接:https://leetcode.cn/problems/implement-queue-using-stacks/ 题目难度:简单 文章讲解:https://programmercarl.com/0232.用栈实现队列.html 视频讲解:https://www. ...
数据结构与算法 数据结构和算法概述 数据结构和算法的关系 数据data结构(structure)是一门研究组织数据方式的学科,有了编程语言也就有了数据结构.学好数据结构可以编写出更加漂亮,更加有效率的代码。 要学习好数据结构就要多多考虑如何将生活中遇到的问题,用程序去实现解决。 程序=数据结构+算法 ...
题目大意 有四种类型的比赛 \(x,a,b,c\),三种赛车(\(A,B,C\))。其中 \(x\) 的数量 为 \(d\)。 \(x\) 表示三种赛车都可以选, \(a\) 表示 \(A\) 种不能选,\(b\) 表示 \(B\) 种不能选,\(c\) 表示 \(C\) 种不能选。 现在要比 \( ...
151. 反转字符串中的单词 题目链接:https://leetcode.cn/problems/reverse-words-in-a-string/ 题目难度:中等 文章讲解:https://programmercarl.com/0151.翻转字符串里的单词.html 视频讲解: https:// ...
344. 反转字符串 题目链接:https://leetcode.cn/problems/reverse-string/ 题目难度:简单 文章讲解:https://programmercarl.com/0344.反转字符串.html 视频讲解: https://www.bilibili.com/vi ...
定义 二叉搜索树是一种特殊的二叉树,其定义如下: 空树是二叉搜索树。 若二叉搜索树的左子树不为空,则其左子树上所有点的附加权值均小于其根节点的值。 若二叉搜索树的右子树不为空,则其右子树上所有点的附加权值均大于其根节点的值。 二叉搜索树的左右子树均为二叉搜索树。 操作 CRUD 二叉搜索树的基本操作 ...
数据结构——并查集 学习笔记 并查集是一种用于管理元素所属集合的数据结构,实现为一个森林。 并查集中,每棵树表示一个集合,树中的节点表示对应集合中的元素。 其思想是,把集合属性绑定到根节点上,避免多余的处理,因此一般难以分离。 普通并查集 并查集支持两种操作: 合并(Union):合并两个元素所属集 ...
二分查找的循环条件及指针终止位置问题 常见的二分搜索法的循环迭代方法分为:左闭右开 和 左闭右闭 两种方式 左闭右开:由于右边界开放,例如[1,1)是矛盾的,因此循环条件为while(l<r)。闭合指后续迭代仍需要进行对其元素进行比较。因此每次迭代结束,左指针l移动到中点的下一位l = mid+1, ...