- 2025-01-22逆波兰表达式求值(力扣150)
这道题也是一道经典的栈应用题。为什么这样说呢?我们可以发现,当我们遍历到运算符号的时候,我们就需要操控这个运算符之前的两个相邻的数。这里相邻数不仅仅指最初数组里相邻的数,在进行了运算之后,得到的结果与后面的数也可以理解为相邻。这样的涉及操作相邻元素描述是不是跟删除字
- 2025-01-21一文速通stack和queue的理解与使用
C++STL之stack和queue1.stack1.1.stack的基本概念1.2.stack的接口2.queue2.1.queue的基本概念2.2.queue的接口3.priority_queue3.1.priority_queue的基本概念3.2.priority_queue的接口3.3.仿函数4.容器适配器5.deque5.1.deque的简单了解5.2.deque的优缺点
- 2025-01-21题解:洛谷 P1351 [NOIP2014 提高组] 联合权值
题目https://www.luogu.com.cn/problem/P1351我们可以发现,若点对 的距离为 ,则它们一定会经过一个中转点,因此我们考虑枚举中转点 ,然后枚举与 有直接边连接的两个点,按照题意统计答案即可。#include<bits/stdc++.h>usingnamespacestd;#pragmaG++optimisze(3,"Ofas
- 2025-01-20【刷题实录之二叉树】leecode429. N 叉树的层序遍历(层序遍历)
题目:给定一个N叉树,返回其节点值的层序遍历。(即从左到右,逐层遍历)。树的序列化输入是用层序遍历,每组子节点都由null值分隔。题解:本体是层序遍历的变形,只需要将“左右孩子入队”变成“所有孩子入队”即可,需对结点数据结构有深入把握。代码(C++):classSolution{public:
- 2025-01-20Telephony OMACP
1、OMCAP介绍 OMACP(Open Mobile Alliance Client Provisioning)是一种通过短信或OTA(Over the Air)方式更新手机网络配置的协议。具体来说,OMACP消息是通过短信发送的,这些消息包含连接到数据服务所需的网络特定设置,例如APN(Access Point Name)设置、MMS
- 2025-01-20sort算法的使用
sort算法的使用望文生义,sort是STL内置的一个排序算法,其底层是由多个排序算法的配合的使用。需要包含的头文件#include<algorithm>使用sort(参数1,参数2,参数3)参数1:排序的左端点的迭代器或者地址参数2:排序的右端点的迭代器或者地址参数3:控制排序优先级的函数注意:
- 2025-01-20圆方树学习笔记
元方树。下文除特殊强调外,所有图皆为无向图。引入割点:在图中,删除某个点后,导致图不再连通的点。点双连通:在一张图中,取两个点\(u\)、\(v\),无论删去哪个点(除\(u\)、\(v\)自身外),\(u\)、\(v\)都能连通,我们就说\(u\)和\(v\)点双连通。点双连通分量(后文称点双):对于一个无向
- 2025-01-19【C++】了解stack和queue
目录stack介绍栈的结构栈接口的使用栈的基本题目最小栈栈的弹出压入序列二叉树的分层遍历栈的模拟实现stack.h文件队列的介绍队列的结构队列接口的使用队列的模拟实现priority_queue的介绍和使用接口使用优先级队列的题目应用数组中第k大的数字优先级队列的
- 2025-01-17大一计算机的自学总结:二叉树三种序的非递归遍历
前言二叉树的递归遍历在我上一篇“二叉树及其三种序的递归遍历”里有。其中用到的“BinaryTree”也在链接文章的“二叉树的创建”里。大一计算机的自学总结:二叉树及其三种序的递归遍历而非递归遍历是借助栈的特性,会更难更复杂。TvT......一、先序遍历#include<bits/stdc++.
- 2025-01-17最短路(floyd,dijkstra,spfa)
最短路[floyd]思考枚举k作为中转点来进行赋最小值,原转移为a[k][i][j]=min(a[k][i][j],a[k-1][i][k-1],a[k-1][k-1][j]);经空间压缩后为a[i][j]=min(a[i][j],a[i][k]+a[k][j]);注:为多远最短路核心代码:voidfloyd(){ for(intk=1;k<=n;k++){ for(inti=1;i<=n;i++){
- 2025-01-17【算法】枚举
枚举普通枚举1.铺地毯2.回文日期3.扫雷二进制枚举1.子集2.费解的开关3.EvenParity顾名思义,就是把所有情况全都罗列出来,然后找出符合题目要求的那一个。因此,枚举是一种纯暴力的算法。一般情况下,枚举策略都是会超时的。此时要先根据题目的数据范围来判断暴力枚举是否
- 2025-01-17栈与队列(代码随想)
目录1.理论分析1.1栈1.2队列2.用栈实现队列3.用队列实现栈算法公开课队列的基本操作!|LeetCode:225.用队列实现栈 (opensnewwindow)https://www.bilibili.com/video/BV1Fd4y1K7sm225.用队列实现栈-力扣(LeetCode)优化4.有效的括号5.删除字符串中的所有相邻重复
- 2025-01-17【转】[JavaScript] 数组的 push 、shift 、splice
push方法用于将一个或多个元素添加到数组的末尾,并返回新数组的长度。以下是其详细用法:基本语法JavaScript复制array.push(item1[,item2[,...,itemN]])array:要操作的数组。item1,item2,...,itemN:要添加到数组末尾的元素,可以是一个或多个。返回值返回新数组
- 2025-01-14C++标准库vector 的push_back和emplace_back有什么区别?
以下是对vector的push_back和emplace_back方法的详细解释:一、push_back方法功能:push_back是std::vector类的成员函数,用于在向量的末尾添加元素。当使用push_back时,会将元素的副本添加到向量的末尾。使用示例:#include<iostream>#include<vector>cl
- 2025-01-13题解:AT_abc353_f [ABC353F] Tile Distance
[ABC353F]TileDistance题解cnblogs题目传送门:洛谷,AtcoderSolution很恶心人的分类讨论题。很显然走大格子大概率比走小格子快。对终点和起点向上下左右枚举大格子,我们就把问题转化为给两个大格子\((a,b)\)、\((c,d)\),求怎样走最快。对角的大格子可以通过\(2\)步相互到
- 2025-01-12vp Codeforces Round 986 (Div. 2)
A.Alice'sAdventuresin"Chess"题意:你从(0,0)出发,重复固定的移动路径,问能不能经过(a,b)。直接跑一百次就行,因为ab都很小(其实只要跑20次)。点击查看代码voidsolve(){intn,a,b;std::cin>>n>>a>>b;intx=0,y=0;std::strings;std:
- 2025-01-113.2.栈
栈栈是一个带有限制的表,它的插入和删除都只能在一个位置上进行,即只能在表的末端进行,这个末端叫栈顶(top)栈模型栈也叫LIFO(后进先出)表。正如其名,栈的特点就是在最后入栈的元素反而最早出栈。对于栈,我们基本上就只有两种操作,一种是进栈(push),一种是出栈(pop),前者就是插入元素,后者
- 2025-01-10git push命令
gitpush常用命令1.拉取远程仓库最新数据使用gitfetchgitfetch作用:获取远程仓库的最新数据(包括分支、标签等),但不会修改本地工作目录。结果:仅更新远程分支(如origin/main)的状态,不会自动合并到本地分支。使用gitpullgitpull作用:从远程仓库拉取最新
- 2025-01-09[BZOJ3159] 决战 题解
个人感觉各方面难度高于《在美妙的数学王国中畅游》,也不知道是不是求导的关系,这题\(luogu\)难度评级还更低。不过感觉这题作完对\(LCT\)理解更顺畅了。前四个操作简单,关键在第五人格操作。注意力惊人的注意到我们无法像普通\(Splay\)一样,直接对\(LCT\)中的\(Splay\)
- 2025-01-09笔记 harmonyOS 页面跳转及传递参数
页面之间的导航可以通过页面路由router模块来完成。页面路由模块根据页面的URL找到目标页面,从而实现跳转。通过页面路由模块,可以使用不同的URL访问不同的页面,包括跳转到Ability内的指定页面、用Ability内的某个页面替换当前页面、返回上一个页面或指定的页面。
- 2025-01-08.push
.push方法是JavaScript中数组对象的一个方法,用于将一个或多个元素添加到数组的末尾,并返回新数组的长度。这个方法不会创建一个新的数组,而是直接修改原始数组。基本用法javascriptarray.push(element1,...,elementN);element1,...,elementN:要添加到数组末尾的元素
- 2025-01-07git 误删远程分支
当你在Git中删除了一个远程分支,但本地仍然保留着该分支的副本时,你可以通过以下步骤重新将本地分支推送到远程仓库: 1.**确保你的本地分支是最新的**: 在推送之前,最好先更新你的本地分支,以确保它包含了最新的更改。你可以使用`gitpull`命令来合并远程仓库中的最新更改(如
- 2025-01-06GetCPUID for lazarus(windows)
GetCPUIDforlazarus(windows),兼容32/64位,直接上代码:unitGetCPUIDUnit;{$modeobjfpc}{$H+}{$ASMMODEintel}interfaceusesClasses,SysUtils;functionGetCPUID:string;implementationfunctionGetCPUID:string;var_ecx,_edx,_eaX,_ebx:LongWord;begin
- 2025-01-04LeetCode232.用栈实现队列
题目:请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty):实现MyQueue类:voidpush(intx)将元素x推到队列的末尾intpop()从队列的开头移除并返回元素intpeek()返回队列开头的元素booleanempty()如果队
- 2025-01-04leetCode155:最小栈
题目:设计一个支持push,pop,top操作,并能在常数时间内检索到最小元素的栈。实现MinStack类:MinStack()初始化堆栈对象。voidpush(intval)将元素val推入堆栈。voidpop()删除堆栈顶部的元素。inttop()获取堆栈顶部的元素。intgetMin()获取堆