算法
常用算法
miracle1114
专业鬼话王
展开
-
AB4 逆波兰表达式求值
问题描述:描述给定一个逆波兰表达式,求表达式的值。数据范围:表达式长度满足 1≤n≤104 1≤n≤104 ,表达式中仅包含数字和 + ,- , * , / ,其中数字的大小满足 ∣val∣≤200 ∣val∣≤200。示例1输入:返回值:12示例2输入:返回值:2。原创 2024-09-07 20:28:44 · 171 阅读 · 0 评论 -
AB3 有效括号序列
问题描述:描述给出一个仅包含字符’(‘,’)‘,’{‘,’}‘,’[‘和’]',的字符串,判断给出的字符串是否是合法的括号序列括号必须以正确的顺序关闭,"()“和”()[]{}“都是合法的括号序列,但”(]“和”([)]"不合法。数据范围:字符串长度 0≤n≤100000≤n≤10000要求:空间复杂度 O(n)O(n),时间复杂度 O(n)O(n)示例1输入:“[”返回值:false。原创 2024-08-23 20:58:38 · 254 阅读 · 0 评论 -
AB2 栈的压入、弹出序列
问题描述:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。原创 2024-08-15 21:35:51 · 171 阅读 · 0 评论 -
AB1 【模板】栈
问题描述:描述请你实现一个栈。操作:push x:将 加x x 入栈,保证 x x 为 int 型整数。pop:输出栈顶,并让栈顶出栈top:输出栈顶,栈顶不出栈输入描述:第一行为一个正整数 n n ,代表操作次数。接下来的 n n ,每行为一个字符串,代表一个操作。保证操作是题目描述中三种中的一种。输出描述:如果操作为push,则不输出任何东西。如果为另外两种,若栈为空,则输出 "error“否则按对应操作输出。原创 2024-08-14 22:28:07 · 185 阅读 · 0 评论 -
LCP 04. 覆盖 【自己写匈牙利,bug】
【代码】LCP 04. 覆盖 【自己写匈牙利,bug】原创 2023-10-09 20:55:08 · 92 阅读 · 0 评论 -
785. 判断二分图【有bug版,暂时没有找出来】
【代码】785. 判断二分图【有bug版,暂时没有找出来】原创 2023-10-06 21:34:00 · 60 阅读 · 0 评论 -
Dijkstra算法及可视化
1、初始化:将所有顶点的最短路径估计值设为无穷大(除了源顶点A,设为0)。2、从未处理的顶点集合中选择一个具有最小最短路径估计值的顶点(首次为A)。3、更新该顶点的所有未处理相邻顶点的最短路径估计值。4、将当前顶点标记为已处理。5、如果还有未处理的顶点,返回到步骤2。124--<=2.5422.5版本# pos42。原创 2023-09-30 18:09:03 · 188 阅读 · 0 评论 -
广度搜索经典例题题解
项目场景:提示:这里简述项目相关背景:例如:项目场景:示例:通过蓝牙芯片(HC-05)与手机 APP 通信,每隔 5s 传输一批传感器数据(不是很大)问题描述:提示:这里描述项目中遇到的问题:例如:数据传输过程中数据不时出现丢失的情况,偶尔会丢失一部分数据APP 中接收数据代码:@Override public void run() { bytes = mmInStream.read(buffer); mHandler.obta原创 2022-02-26 17:21:43 · 131 阅读 · 0 评论 -
深度搜索经典例题题解
搜索:一、排列数字(问题描述):给定一个整数 n,将数字 1∼n 排成一排,将会有很多种排列方法。现在,请你按照字典序将所有的排列方法输出。输入格式共一行,包含一个整数 n。输出格式按字典序输出所有排列方案,每个方案占一行。解决代码:#include <iostream>using namespace std;const int N=10;int n;int path[N];bool st[N]; void dfs(int u)//u搜索层数 { if原创 2022-02-24 21:33:51 · 519 阅读 · 0 评论