数组链表【leetcode】

news2025/7/19 6:59:52

笔记:代码随想录

数组

概念

存放在连续内存空间上相同类型数据的集合(内存地址、字符数组、下标)。

特点

数组元素不能删除,只能覆盖(因为数组元素在内存中是连续的)

方法

1.二分法

条件:(1)有序数组;(2)数组中无重复元素。

思路:循环不变量。

2.双指针法

条件:数组、链表、字符串

3.滑动窗口

定义:不断调节子序列起始位置和终止位置,得到想要的结果。

4.模拟行为

链表

概念

通过指针串联在一起的线性结构,每一个节点由两部分组成,一个数据域一个指针域(存放指向下一个节点的指针),最后一个节点的指针指向null(空指针)。(内存地址、数据域、指针域)

链接的入口节点称为链表的头节点(head)。

特点

非连续分布

编辑

其他

单链表:只指下。

双链表:每一个节点有两个指针域,指上指下(可向前向后查询)。

循环链表:链表首尾相连(可以解决约瑟夫环问题。)

数组:数据量固定,频繁查询,较少增删。

链表:数据量不固定,较少查询,频繁增删。

单链表节点具备两个属性:val和next,val是当前节点的值,next是指向下一个节点的指针/引用。双向链表还需要一个属性prev以指示链表中的上一个节点。

删除某个节点时,C++里最好是再手动释放这个节点,释放这块内存。其他语言例如Java、Python,就有自己的内存回收机制,就不用自己手动释放了。

编辑

方法

1.移除链表元素

思路:使用头结点。

2.设计链表

定义

(1)get(index):获取链表中第 index 个节点的值。如果索引无效,则返回-1。

(2)addAtHead(val):在链表的第一个元素之前添加一个值为 val 的节点。插入后,新节点将成为链表的第一个节点。

(3)addAtTail(val):将值为 val 的节点追加到链表的最后一个元素。

(4)addAtIndex(index,val):在链表中的第 index 个节点之前添加值为 val 的节点。如果 index 等于链表的长度,则该节点将附加到链表的末尾。如果 index 大于链表长度,则不会插入节点。如果index小于0,则在头部插入节点。

(5)deleteAtIndex(index):如果索引 index 有效,则删除链表中的第 index 个节点。

3.翻转链表

思路:迭代法,递归法

4.两两交换链表中的节点

5.删除链表倒数第N个节点

思路:双指针法

6.链表相交

7.环形链表

思路:从头结点出发一个指针,从相遇节点 也出发一个指针,这两个指针每次只走一个节点, 那么当这两个指针相遇的时候就是 环形入口的节点。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/395584.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

10.Clickhouse 单机部署

Clickhouse 单机部署 注意事项: 下载地址:https://packages.clickhouse.com/选择stable目录下的安装包,分别是这几个文件名(下面安装用的是 21.9.6.24 版本):ClickHouse相关目录:1.命令目录 /usr/bin ll |grep clickhouse2.配置…

Windows安装RabbitMQ详细教程

一、RabbitMQ是什么?RabbitMQ 是一个由 Erlang 语言开发的 AMQP 的开源实现。 ​ AMQP :Advanced Message Queue,高级消息队列协议。它是应用层协议的一个开放标准,为面向消息的中间件设计,基于此协议的客户端与消息中…

FJWC2019 Day2 题解

T1 - 直径 思路 就类似下图的链接方法。 这其中每一条边权都是 111。 我们设以 222 为根的子树除去 222 有 aaa 个节点,以 333 为根的子树除去 333 有 bbb 个节点,以 444 为根的子树除去 444 有 ccc 个节点。 此时直径的数量就为 a⋅ba⋅cb⋅ca\cdot…

Day910.中台是什么 -SpringBoot与K8s云原生微服务实践

中台是什么 Hi,我是阿昌,今天学习记录的是关于中台是什么的内容。 近几年针对软件开发领域,中台,这词相信大家都不会陌生。 中台(Technology Middle Platform)是一种基于技术架构和业务架构的中间层&…

制造业数字化转型难在哪儿?

工作岗位的原因,接触过很多制造业的CIO,也组建过几个制造业CIO的社群,当然也或参与或旁观过不少制造企业数字化转型的案例。 但这篇我不列举案例,分享一些经验和事实! 为啥?我接下来说的话可能有点残酷&a…

目标跟踪中的卡尔曼滤波和匈牙利算法解读。

先解读Sort算法:Simple online and realtime tracking 论文地址 https://arxiv.org/abs/1602.00763 代码地址 https://github.com/abewley/sort https://github.com/YunYang1994/openwork/tree/master/sort SORT 流程简介: 整个流程如下图所示&#xf…

网络是怎么连接笔记(二)用电信号传输TCP/IP数据

文章目录介绍创建套接字连接服务器收发数据从服务器断开并删除套接字IP与以太网的包收发操作(待更新)UDP协议的收发操作(待更新)介绍 在了解了HTTP请求是如何产生的,以及网址是如何跳转到我们想要看到的页面&#xff…

普元ESO 逻辑流/页面流数据类型选择java--浏览转圈卡死

不知道什么时候开始的 前阵子在选择数据类型需要选择一个普元基本类型里没有的java类型的时候 它卡住了,虽然我对lj普元的容忍度较高,但是在等了五分钟以后还在那转我就忍不了了 在经历了重启eos 重启电脑 关闭所有软件运行eos后,最后忘了咋折腾的反正是整上这个类型了当时确…

Unity使用NatML的NatDevice功能调用外部摄像机

Unity使用NatML的NatDevice功能调用外部摄像机NatCamNatDevice广泛和轻量级在Unity中使用NatDevice导入NatDevice指定访问密钥运行摄像头预览示例测试结果NatCam 最开始在Unity中使用WebCamTexture获取外部摄像机的画面。后来发现WebCamTexture的功能过于简单,外部…

拥塞管理与拥塞避免

拥塞管理与拥塞避免背景来源产生情景队列技术FIFO:First In First OutRR:Round RobinWRR:Weight Round RobinPQ(Priority Queuing)CQ(Custom Queuing)WFQ(Weight Fair Queuing&#…

入托不焦虑 | 如何帮宝宝更好地融入托班?

上托班是教育重要的一环,是宝宝开始适应集体过程的起点,宝爸宝妈也是忧喜交加:高兴的是宝宝慢慢长大开始上学了;忧虑的是从没有离开家的宝宝会不会适应托班生活呢? 今天我们就来分享一下如何引导宝宝更快地适应园区生…

【Unity】程序集Assembly模块化开发

笔者按:使用Unity版本为2021.3LTS,与其他版本或有异同。请仅做参考 一、简述。 本文是笔者在学习使用Unity引擎的过程中,产学研的一个笔记。由笔者根据官方文档Unity User Manual 2021.3 (LTS)/脚本/Unity 架构/脚本编译/程序集定义相关部分结…

【Spring6】IoC容器之基于注解管理Bean

3.3、基于注解管理Bean(☆) 从 Java 5 开始,Java 增加了对注解(Annotation)的支持,它是代码中的一种特殊标记,可以在编译、类加载和运行时被读取,执行相应的处理。开发人员可以通过…

Java基本数据类型变量自动提升、强制类型转换、String基本类型使用

文章目录基本数据类型变量自动提升特殊情况强制类型转换String基本类型使用基本数据类型变量自动提升 规则: 将取值范围小(或容量小)的类型自动提升为取值范围大(或容量大)的类型 。 byte、short、char-->int-->…

HCIP---回顾HCIA

HCIA回顾: 抽象语言---编码 编码---二进制 二进制---电信号 处理电信号 OSI参考模型----OSI/RM (Open System Interconnect-----开放式系统互连) 应用层:为终端用户提供网络服务接口 表示层:提供数据格式转换服务 会话层&#xff1a…

基于深度学习的鸟类检测识别系统(含UI界面,Python代码)

摘要:鸟类识别是深度学习和机器视觉领域的一个热门应用,本文详细介绍基于YOLOv5的鸟类检测识别系统,在介绍算法原理的同时,给出Python的实现代码以及PyQt的UI界面。在界面中可以选择各种鸟类图片、视频以及开启摄像头进行检测识别…

基于同步整流技术的Buck开关电源设计方法

基于同步整流技术的Buck开关电源设计方法 典型的Buck电路 同步整流的Buck电路 摘要 B u c k 变换器作为一种基本的开关电源变换器,在电力变换场合具有广泛的应用。 为解决 B u c k 变换器工作在电感电流连续状态下,续流二极管关断时存在较大的反向电流…

重资产模式和物流网络将推动京东第四季度利润率增长

来源:猛兽财经 作者:猛兽财经 强劲的2022年第三季度财务业绩 2022年11月18日,京东(JD)公布了2022年第三季度财务业绩,净收入为2435亿元人民币,增长了11.4%。净服务收入为465亿元人民币&#xf…

【C++知识点】异常处理

✍个人博客:https://blog.csdn.net/Newin2020?spm1011.2415.3001.5343 📚专栏地址:C/C知识点 📣专栏定位:整理一下 C 相关的知识点,供大家学习参考~ ❤️如果有收获的话,欢迎点赞👍…

深度学习知识点全面总结_深度学习总结

深度学习知识点全面总结_深度学习总结 神经网络与深度学习结构(图片选自《神经网络与深度学习》一邱锡鹏) 目录 常见的分类算法 一、深度学习概念 1.深度学习定义 2.深度学习应用 3.深度学习主要术语 二、神经网络基础 1. 神经网络组成 感知机 多层感知机 3.前向传播…