ARTS Week 24

Algorithm

本周的算法题为 21. 合并两个有序链表

将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。

示例 1:

img
img
输入:list1 = [1,2,4], list2= [1,3,4]
输出:[1,1,2,3,4,4]

实现代码如下:

/**
 * Definition for singly-linked list.
 * function ListNode(val, next) {
 *     this.val = (val===undefined ? 0 : val)
 *     this.next = (next===undefined ? null : next)
 * }
 */

/**
 * @param {ListNode} list1
 * @param {ListNode} list2
 * @return {ListNode}
 */

const mergeTwoLists = function(list1, list2{
    if (list1 === null) {
        return list2;
    } else if (list2 === null) {
        return list1;
    } else if (list1.val < list2.val) {
        list1.next = mergeTwoLists(list1.next, list2);
        return list1;
    } else {
        list2.next = mergeTwoLists(list1, list2.next);
        return list2;
    }
};

解题思路:

比较两个链表的头节点,将较小的头节点作为合并后的链表的头节点,然后递归地将剩余的部分合并。

  1. 首先,判断两个链表是否有空的情况,如果其中一个链表为空,说明另一个链表就是合并后的链表,直接返回。
  2. 接着,比较两个链表的头节点,将较小的头节点作为合并后的链表的头节点。
  3. 对于较小头节点所在的链表,将其头节点的下一个节点与另一个链表进行合并,得到的结果作为较小头节点的下一个节点。
  4. 返回较小头节点作为合并后的链表的头节点。
  5. 重复以上步骤,直到两个链表的所有节点都被合并。

Review

UN warns of environmental e-waste catastrophe - Breaking News English Lesson

联合国向全球消费者发出了严厉警告。我们丢弃的电子产品数量已经造成了“环境灾难”。我们正在处理创纪录数量的“电子垃圾”。联合国将电子产品定义为任何带插头或电池的物品,并且通常含有有毒化学物质和物质,如铅和汞。电子垃圾包括被丢弃的手机、冰箱和电子烟。联合国全球电子垃圾监测器报告称,在2022年,全球产生了令人震惊的6200万吨电子垃圾。CNN表示,这些垃圾“可以填满超过150万辆40吨重的卡车,如果把它们挨个贴在一起,可以...绕过赤道”。

大多数电子垃圾来自发达国家。其中很多被发送到较贫穷的国家进行回收。然而,这些国家缺乏技术和资源以最大程度地减少环境破坏地处理电子垃圾。庞大的垃圾量造成了大量的健康问题。被倾倒的电子产品正在污染河流和海洋。去年有令人不安的58吨汞进入了环境。其中一部分进入了食物链。联合国指责制造商“缺乏责任心”,因为他们未能对其产品的命运负责。它还指责消费者,称“购买电子产品只需点击几下”,但“处理它们却更加困难”。

Tip

链表(LinkedList)是一种常见的数据结构,它由一系列节点组成,每个节点包含两部分:数据和指向下一个节点的引用。

常见的有单向链表和双向链表,单向链表中的每个节点只有一个指向下一个节点的引用,双向链表中每个节点都有两个引用,分别指向前一个节点和后一个节点。

链表的实现原理,主要依靠节点之间的引用关系。链表的头部指向第一个节点,而最后一个节点的指针指向 null。这样,当需要遍历链表时,只需从头部开始,依次沿着指针向下移动即可。

举个例子,假设我们有一个单向链表,其中包含节点 A、B、C 和 D,它们依次相连:

A -> B -> C -> D -> null

如果要查询链表中的某个节点,需要从头节点开始,沿着指针依次移动,直到找到目标节点或者到达链表末尾。

如果要删除或者插入节点,则需要调整相邻节点之间的引用关系,以保持链表的连续性。

与 ArrayList 相比,LinkedList 在查找和修改操作方面效率较低,因为需要遍历整个链表才能找到目标元素,但在增加和删除操作方面效率更高,因为不需要移动元素。

Share

循环论证是一种逻辑错误,具体表现为用来证明论题的论据本身的真实性要依靠论题来证明。换句话说,就是用论点去证明论据,再用论据来证明论点,这构成了一个无法打破的循环。比如,“真是奇怪,都说票好难抢,但是为什么动车上的人全都买到票了。”

本文由 mdnice 多平台发布

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

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

相关文章

springcloudgateway集成knife4j

上篇我们聊聊springboot是怎么继承knife4j的。springboot3 集成knife4j-CSDN博客 本次我们一起学习springcloudgateway集成knife4j。 环境介绍 java&#xff1a;17 SpringBoot&#xff1a;3.2.0 SpringCloud&#xff1a;2023.0.0 knife4j &#xff1a; 4.4.0 引入maven配置…

近年数一,数二难度如何,听说24是像张宇那样的题?

直接上分数&#xff01; “估分一百零几&#xff0c;平时李林130-140&#xff0c;张八110-125的样子&#xff0c;超越做的分数也是100出头。” 24学长说&#xff1a; “远离李林张八&#xff01;张四没做不评价。” “李林张八暑假前做完当作打基础即可。超越才是真题难度”…

打开新世界大门!淘宝商品关键词搜索电商API接口解密

淘宝商城作为全球最大的电子商务平台之一&#xff0c;为数以亿计的消费者提供了广泛的商品选择和购物体验。然而&#xff0c;对于开发者来说&#xff0c;如何利用淘宝平台的资源进行开发和推广是一个关键的问题。幸运的是&#xff0c;联讯数据淘宝电商API的出现为开发者打开了通…

X-Spider媒体下载工具

软件介绍 X-Spider 是一个功能丰富的推特媒体下载器&#xff0c;它不仅可以帮助用户从推特上下载图片和视频&#xff0c;还提供了一些高级的过滤功能。例如&#xff0c;用户可以通过指定日期范围来筛选需要下载的媒体文件&#xff0c;并且可以跳过已下载的重复文件&#xff0c…

【Linux】文件描述符——万字详解

目录 前言 预备知识 复习C语言的文件接口 写方式打开文件 追加方式打开文件 读方式打开文件 系统的文件接口 open close write read 文件描述符 0 & 1 & 2 理解文件描述符 文件描述符的分配规则 重定向的本质 dup2 理解Linux下一切皆文件 缓冲区…

STM32F4 Hal库中IO外部中断(EXIT)的应用

目录 概述 1 中断和事件 1.1 外部中断/事件控制器 (EXTI) 1.2 EXTI主要特性 1.3 中断和事件的差别 1.3.1 中断产生流程 1.3.2 事件产生流程 1.3.3 STM32F4的事件 2 STM32Cube配置工程 2.1 外部中断/事件介绍 2.2 配置参数 2.3 生成Project 3 STM32F4 Hal库中外部中…

在使用电脑时遇过msvcr120.dll文件丢失的情况怎么办,一键修复dll文件丢失

在使用电脑时有没有遇到过msvcr120.dll文件丢失的情况&#xff0c;遇到这样的情况有什么办法可以解决&#xff0c;废话少说&#xff0c;直接上教程&#xff0c;解决msvcr120.dll文件丢失问题。 msvcr120.dll文件丢失修复方法 A. 从官方或其他可信赖的来源下载并安装缺失的 msv…

众筹商城源码 众筹农业平台 农业乘科技富强之路 线上农业众筹 养殖系统 种植系统源码

内容目录 一、详细介绍二、效果展示1.部分代码2.效果图展示 三、学习资料下载 一、详细介绍 前端是编译后的&#xff0c;后端PHP&#xff0c;带商城&#xff0c;详情看下图 特点和功能&#xff1a; 用户管理&#xff1a;包括注册、登录、个人信息管理等。 项目创建与展示&…

【C语言进阶篇】offsetof宏的介绍 及其实现

目录 一、offsetof宏的介绍 头文件 &#xff1a; offsetof宏的通用形式&#xff1a; 参数说明&#xff1a; 用法举例&#xff1a; 二、offsetof宏的实现 三、offsetof宏的使用注意事项 个人主页&#xff1a; 倔强的石头的博客 系列专栏 &#xff1a;C语言指南 …

Java中的动态代理

动态代理 什么是代理程序为什么需要代理例子如何创建代理对象 应用场景 什么是代理 程序为什么需要代理 对象如果认为身上干的事太多&#xff0c;可以通过代理来转移部分职责&#xff1b; 对象有什么方法想被代理&#xff0c;代理就一定要有对应的方法 使用接口实现&#xf…

iPerf 3 测试UDP和TCP方法详解

文章目录 前言一、What is iPerf / iPerf3 ?二、功能1. TCP and SCTP2. UDP3. 其他 三、 Iperf的使用1.Iperf的工作模式2. 通用指令3. 服务端特有选项4. 客户端特有选项5. -t -n参数联系 四、Iperf使用实例1. 调整 TCP 连接1. 1TCP 窗口大小调节1. 2 最大传输单元 (MTU)调整 2…

Pyhton Sqlite3手机数据库

代码结果 Code import sqlite3 connsqlite3.connect(test.db) csconn.cursor() create_tb_sqlcreate table if not exists info(id int primary key,name text,age int)cs.execute(create_tb_sql)# cs.execute(insert into info(id,name,age) values(3,"dog_Senior&quo…

华为交换机重置密码

1.进入bootrom 加电后&#xff0c;18S左右&#xff0c;在启动菜单按 CtrlB 进入bootrom&#xff08;3s内&#xff09; 注意&#xff1a;本步骤属于高危操作&#xff0c;一定小心切勿删除系统或修改bootrom密码&#xff01; 输入bootrom密码&#xff0c;按6 看到提示成功后按…

科技云报道:AIGC掀算力需求革命,边缘计算将不再“边缘”

科技云报道原创。 随着以大模型为代表的AIGC时代拉开序幕&#xff0c;算力需求持续爆发&#xff0c;AI与边缘深度融合已是大势所趋&#xff0c;越来越多的企业开始积极布局GenAI。 GenAI技术的商用化部署和应用成为企业竞逐的新阵地&#xff0c;勾勒出大模型从“技术力”转向…

web漏洞合集描述和修复建议

完整Excle文件可移步至知识星球查看下载 星球不定时分享网上各种资料&#xff0c;欢迎大家加入交流。

NX二次开发UF_LAYER(图层相关操作)常用函数

目录 一、概述 二、函数的介绍 2.1 UF_LAYER_ask_category_info &#xff08;查询图层类别信息&#xff09; 2.2 UF_LAYER_ask_category_tag&#xff08;查询图层类别TAG&#xff09; 2.3 UF_LAYER_ask_status&#xff08;查询图层的状态&#xff09; 2.4 UF_LAYER_ask_wo…

docker 报错 error adding seccomp filter rule for syscall clone3

网上有一些说法&#xff0c;例如重新安装docker 但是我自己尝试&#xff0c;用 –security-opt seccompunconfined 就可以&#xff0c;但是需要把这个命令放到紧挨着run的位置&#xff0c;如果放到偏后的位置&#xff0c;可能不起作用。 以下命令是其他网友启动是的命令&…

UG10.如何设置鼠标滚轮操作模型放大缩小方向?

UG10.如何设置鼠标滚轮操作模型放大缩小方向呢&#xff1f;看一下具体操作步骤吧。 首先打开UG10.软件&#xff0c;在主菜单栏选择【文件】下拉菜单&#xff0c;选择【实用工具】。 点击【用户默认设置】。 文章源自四五设计网-https://www.45te.com/45545.html 选中【基本环…

mongodb 安装问题

1. mongodb启动时显示 Illegal instruction (core dumped) mongodb 5.0之后(包括5.0) 开始使用需要使用 AVX 指令集 2.启动时报错 ERROR: child process failed, exited with 1 通过指令 bin/mongod --repair 查看报错信息 根据报错信息进行修改