ARTS Week 24

2024-04-23 09:52
文章标签 24 week arts

本文主要是介绍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 多平台发布

这篇关于ARTS Week 24的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/928470

相关文章

Science|癌症中三级淋巴结构的免疫调节作用与治疗潜力|顶刊精析·24-09-08

小罗碎碎念 Science文献精析 今天精析的这一篇综述,于2022-01-07发表于Science,主要讨论了癌症中的三级淋巴结构(Tertiary Lymphoid Structures, TLS)及其在肿瘤免疫反应中的作用。 作者类型作者姓名单位名称(中文)通讯作者介绍第一作者Ton N. Schumacher荷兰癌症研究所通讯作者之一通讯作者Daniela S. Thomm

SIGMOD-24概览Part7: Industry Session (Graph Data Management)

👇BG3: A Cost Effective and I/O Efficient Graph Database in ByteDance 🏛机构:字节 ➡️领域: Information systems → Data management systemsStorage management 📚摘要:介绍了字节新提出的ByteGraph 3.0(BG3)模型,用来处理大规模图结构数据 背景

【A题成品论文已出】24数学建模国赛A题成品论文(附参考代码)免费分享

A 题  “板凳龙”  闹元宵 摘要 “板凳龙”是一种传统的民俗文化活动,通常由许多板凳连接成龙的形状进行表演。本文基于螺旋线和板凳龙的运动特性,建立数学模型来分析舞龙队在不同情况下的运动轨迹、调头路径和速度优化等问题。问题主要涉及板凳龙的行进路径、碰撞避免、调头空间的设计,以及如何优化龙头的速度,以确保龙身与龙尾的行进安全。 针对问题一,舞龙队由223节板凳组成,龙头前把手的速度为1

【Git 学习笔记_24】Git 使用冷门操作技巧(四)——更多实用 git 别名设置、交互式新增提交

文章目录 11.8 更多别名设置别名1:只查看当前分支(git b)别名2:以图表形式显示自定义格式的 git 日志(git graph)别名3:查看由于合并分支导致的冲突后仍有冲突的、待合并的文件列表(git unmerged)别名4:查看 git 状态(git st)别名5:查看 git 简要状态(git s)别名6:查看最新版本的统计信息(git l1)别名7:查看最近 5 个版本的提

Leetcode面试经典题-24.两两交换链表中的节点

解法都在代码里,不懂就留言或者私信 这里先写一个递归的解,如果后面有时间,我再写个迭代的 /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}* ListNode(int val) { this.val =

图形API学习工程(24):D3D11读取非DDS格式的CubeMap

工程GIT地址:https://gitee.com/yaksue/yaksue-graphics 目标 在《图形API学习工程(21):使用CubeMap纹理》中,由于DirectX读取CubeMap的教程范例都是DDS格式的纹理,因此我也首先实现了DDS的版本,期望之后做处理。 上一篇使D3D12可以用非DDS格式的CubeMap了,本篇目标将是D3D11。 分析当前的流程 当前使用D

数字人直播防封技巧升级!头部源码厂商如何实现7*24小时无间断直播?

当前,许多用户在使用数字人直播的过程中都遇到了直播间违规和账号被封两大问题,并因此蒙受了一定的损失。在此背景下,不少有计划引入数字人直播的企业和搭建数字人直播系统的创业者也开始有了犹豫。为了让大家能够更放心地入局,本期,我们将通过分析这两大问题出现的原因,来整理数字人直播防封教程,希望能对大家有所帮助。 一、数字人直播是否会导致直播间违规和封号问题? 需要明确的一点是,当前,虽然许多人在进

【24数模国赛赛题思路已出】国赛B题第二套整体思路丨附参考代码丨免费分享

B 题 生产过程中的决策问题 一、问题1解析 问题1的任务是为企业设计一个合理的抽样检测方案,基于少量样本推断整批零配件的次品率,帮助企业决定是否接收供应商提供的这批零配件。具体来说,企业需要依据两个不同置信度(95% 和 90%)来判断次品率是否超过或不超过标称值(10%)。 供应商声称的次品率为不超过10%,但企业需要通过抽样检测来验证实际次品率是否符合此要求。通过设计合理的抽样方案,企

org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 24 in XML document from

org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 24 in XML document from class path resource [bean1.xml] is invalid; nested exception is org.xml.sax.SAXParseException; lineN

24. Redis缓存问题

1. 前言 在小型项目中(例如大部分 toB 业务),Redis 被作为缓存,我们无需过多关注缓存的性能,但是对于高并发的场景(例如 toC 的在线电商业务),在商品秒杀或者库存抢购的时候,Redis 也可能存在诸多潜在的问题,例如缓存穿透、缓存雪崩。 2. 缓存问题 2.1 缓存穿透 面试官提问: Redis 的缓存穿透是什么意思?有什么解决方案? 题目解析: 首先给出缓