算法模板——数据结构篇

news/2024/10/21 11:31:07/

声明:参考自acwing 


目录

1.单链表

2.双链表

3.数组栈与队列

 4.单调栈


1.单链表

int head,e[N],ne[N],idx;void init(){head=-1;idx=0;
}
void add_head(int x){                 //head有实值e[idx]=x,ne[idx]=head,head=idx++;
}
void add(int k,int x){    e[idx]=x,ne[idx]=ne[k],ne[k]=idx++;
}
void del(int k){ne[k]=ne[ne[k]];
}

2.双链表

int e[N],l[N],r[N],idx;void init(){r[0]=1,l[1]=0;idx=2;
}
void insert(int k,int x){e[idx]=x;r[idx]=r[k];r[k]=idx;l[r[idx]]=idx;l[idx++]=k;
}
void remove(int k){r[l[k]]=r[k];l[r[k]]=l[k];
}

3.数组栈与队列

int t;
int st[N];
st[++t]=k;
--t;
t==0;int hh,tt;
int q[N];#hh做头 tt做尾
q[tt++]=k;  #尾加
++hh;  #头出
tt==hh  #为空

 4.单调栈

#常用于找出每个数左边离它最近的比它大/小的数
int tt = 0;
for (int i = 1; i <= n; i ++ )
{while (tt && check(st[tt], i)) tt -- ;st[ ++ tt] = i;
}

to be continued 


http://www.ppmy.cn/news/1442618.html

相关文章

浓眉大眼的Apple开源OpenELM模型;IDM-VTON试衣抱抱脸免费使用;先进的语音技术,能够轻松克隆任何人的声音

✨ 1: openelm OpenELM是苹果机器学习研究团队发布的高效开源语言模型家族 OpenELM是苹果机器学习研究团队开发的一种高效的语言模型&#xff0c;旨在推动开放研究、确保结果的可信赖性、允许对数据和模型偏见以及潜在风险进行调查。其特色在于采用了一种分层缩放策略&#x…

LeetCode 2385.感染二叉树需要的总时间:两次搜索(深搜 + 广搜)

【LetMeFly】2385.感染二叉树需要的总时间&#xff1a;两次搜索&#xff08;深搜 广搜&#xff09; 力扣题目链接&#xff1a;https://leetcode.cn/problems/amount-of-time-for-binary-tree-to-be-infected/ 给你一棵二叉树的根节点 root &#xff0c;二叉树中节点的值 互不…

iOS 在OC旧项目中使用Swift进行混编

iOS 在OC旧项目中使用Swift进行混编 1、创建桥接文件 ​ 第一次在Swift创建OC文件&#xff0c;或者第一次OC创建Swift时&#xff0c;xcode会提示桥接&#xff0c;Creat Bridging Header即可,这个文件用于Swift调用OC文件&#xff0c;与OC调用Swift无关。 2、在TARGETS中设置D…

Eureka 详解:构建高可用微服务架构

目录 引言 一.Eureka 简介 二.关键概念和组件 1.服务注册 2.服务发现 3.Eureka 服务器 4.服务注册表 5.续约 6.负载均衡 7.故障转移和容错 8.集群和复制 9.服务元数据 三.Eureka 的工作原理 四.Eureka 的优势 五.实例&#xff1a;使用 Eureka 的微服务架构 步骤…

2024.4.24力扣每日一题——感染二叉树需要的总时间

2024.4.24 题目来源我的题解方法一 转化为图广度优先搜索方法二 记录父节点DFS方法三 一次遍历树的直径 题目来源 力扣每日一题&#xff1b;题序&#xff1a;2385 我的题解 方法一 转化为图广度优先搜索 先将树转换为图&#xff0c;然后进行广度优先搜索进行感染模拟 时间复…

OSD图像技术

OSD&#xff08;On-Screen Display&#xff09;图像技术&#xff0c;是指在显示设备上叠加显示文字、图形或图像的功能。这项技术广泛应用于电视、电脑显示器、安防监控系统中的摄像头、以及其他各类显示界面中。 OSD允许用户在不干扰主画面内容的情况下&#xff0c;查看或调整…

使用FunASR处理语音识别

FunASR是阿里的一个语音识别工具&#xff0c;比SpeechRecognition功能多安装也很简单&#xff1b; 官方介绍&#xff1a;FunASR是一个基础语音识别工具包&#xff0c;提供多种功能&#xff0c;包括语音识别&#xff08;ASR&#xff09;、语音端点检测&#xff08;VAD&#xff…

【win10移动热点,提示正在获取ip地址...】

检查 Wired AutoConfig/ WLAN AutoConfig 服务运行 电脑→管理→服务和应用程序→服务&#xff1a;AutoConfig 有线网络无线网卡 1.开启wifi热点&#xff0c;自动生成“本地连接*10”&#xff1b; 2.配置Wired LAN网络共享 仅无线网卡 1. 开启wifi热点&#xff0c;自动生…