当前位置: 首页 > news >正文

链表OJ题(上)

✅每日一练:876. 链表的中间结点 - 力扣(LeetCode)


 解题思路:

    定义快慢指针,让快指针走2步,慢指针走1步,当fast或者fast.next为空时,走完链表,此时slow就是中间位置
public ListNode middleNode(ListNode head) {//定义快慢指针,让快指针走2步,慢指针走1步,当fast或者fast.next为空时,走完链表,此时slow就是中间位置ListNode fast = head;ListNode slow = head;while(fast != null && fast.next != null){fast = fast.next.next;slow = slow.next;}return slow;}

✅每日一练:203. 移除链表元素 - 力扣(LeetCode)


 

 解题思路:

   题目意思让我们删除链表中相同的元素,看图

 

public ListNode removeElements(ListNode head, int val) {//判断头结点是否为空if (head == null) {return null;}//定义两个指针ListNode prev = head;ListNode cur = head.next;//循环条件while (cur != null) {if (cur.val == val) {prev.next = cur.next;cur = cur.next;} else {prev = cur;cur = cur.next;}}//如果第一个元素就是我们要删除的节点,直接让head = head.nextif (head.val == val) {head = head.next;}return head;}

✅每日一练:206. 反转链表 - 力扣(LeetCode)

 

解题思路:

   题目意思很简单 ,就是逆序一个单链表,思路就是先把头结点置空,然后将后面的节点挨个进行头插,反转链表,逻辑看似简单,实现起来还是有很多细节的,常看,不然就会忘,如图

这里面还有细节,就是头结点为空时,说明没有节点,如果head.next = null,说明就一个节点,直接返回头结点就可:

public ListNode reverseList(ListNode head) {if (head == null) {return null;}if (head.next == null) {return head;}ListNode cur = head.next;//将头结点置空,将后面的节点逐一进行头插head.next = null;while (cur != null) {ListNode curNext = cur.next;cur.next = head;head = cur;cur = curNext;}return head;}

✅每日一练:链表中倒数第k个结点_牛客题霸_牛客网 (nowcoder.com)


 

 解题思路:

   定义快慢指针,让快指针先走k-1步,走完以后让快慢指针同时走一步,当快fast.next为空时,说明走完了,此时slow就是我们要找的元素,非常巧妙,是谁想到的,真是太强了,我画个图吧

 

public ListNode FindKthToTail(ListNode head, int k) {if (k <= 0 || head == null) {return null;}//定义快慢指针,让快指针走2步,慢指针走k-1步,再让slow和fast同时走一步,让fast.next为空时,//表示走完了,此时的慢指针就是倒数第k个节点的数值ListNode fast = head;ListNode slow = head;//fast走k-1步while (k - 1 != 0) {fast = fast.next;//当k的值大于链表的长度时,用于判断下一个fast是否为空if (fast == null) {return null;}k--;}while (fast.next != null) {fast = fast.next;slow = slow.next;}return slow;}

✅每日一练:21. 合并两个有序链表 - 力扣(LeetCode)


 

 解题思路:

    这题有点像合并两个有序数组,定义一个临时的头结点,将两个链表的头结点的值进行比较,哪个小作为头结点,然后交叉比较两个链表,比较值的大小,小的房前面,形成有序,大致思路就是这样:

public ListNode mergeTwoLists(ListNode list1, ListNode list2) {ListNode newHead = new ListNode();ListNode tmp = newHead;while (list1 != null && list2 != null) {if (list1.val < list2.val) {tmp.next = list1;list1 = list1.next;tmp = tmp.next;} else {tmp.next = list2;list2 = list2.next;tmp = tmp.next;}}if (list1 != null) {tmp.next = list1;}if (list2 != null) {tmp.next = list2;}//返回新的头结点return newHead.next;}

相关文章:

链表OJ题(上)

✅每日一练&#xff1a;876. 链表的中间结点 - 力扣&#xff08;LeetCode&#xff09; 解题思路&#xff1a; 定义快慢指针&#xff0c;让快指针走2步&#xff0c;慢指针走1步&#xff0c;当fast或者fast.next为空时&#xff0c;走完链表&#xff0c;此时slow就是中间位置 pub…...

【题解】百度2021校招Web前端工程师笔试卷(第一批):单选题、多选题

题目来源&#xff1a;牛客网公司真题_免费模拟题库_企业面试|笔试真题 (nowcoder.com) 若有错误请指正&#xff01; 单选题 1 某主机的 IP 地址为 212.212.77.55&#xff0c;子网掩码为 255.255.252.0。若该主机向其所在子网发送广播分组&#xff0c;则目的地址可以是&…...

论文解读:SuperPoint: Self-Supervised Interest Point Detection and Description

发表时间: 2018年 项目地址&#xff1a;https://arxiv.org/abs/1712.07629 论文地址&#xff1a;https://github.com/magicleap/SuperPointPretrainedNetwork 本文提出了一种用于训练计算机视觉中大量多视点几何问题的兴趣点检测器和描述符的自监督框架。与patch-based的神经网…...

游戏玩的多,陪玩你了解的多吗?用Python来采集陪玩数据,看看行情和美照

前言 (&#xff61;&#xff65;∀&#xff65;)&#xff89;&#xff9e;嗨 大家好 现在应该每个人都玩过游戏吧&#xff0c;有些的上瘾&#xff0c;天天玩停不下来&#xff0c;有些的倒是没啥感觉 有游戏就肯定有陪玩啊&#xff0c;毕竟当朋友忙的时候&#xff0c;自己一个…...

React框架创建项目详细流程-项目的基本配置-项目的代码规范

文章目录React创建项目流程与规范项目规范项目配置目录结构样式重置Router配置Redux状态管理axios配置React创建项目流程与规范 项目规范 项目规范: 在项目中都会有一些开发规范和代码风格, 下面介绍一下我采用的规范与风格 文件夹、文件名称统一小写、多个单词以连接符(-)连…...

nnunet入门之一 (CT图像分割)

目录安装环境数据处理预处理训练测试MIC-DKFZ/nnUNet 选择Linux环境运行该项目&#xff0c;Windows环境需要更改较多的参数&#xff0c;暂不支持。 安装环境 安装cuda, cudnn&#xff0c;已安装的检测cuda版本 检测cuda版本&#xff1a; nvcc -v cd /usr/local nvidia-smi&…...

从0到1_批量下载视频

简介&#xff1a;真实从0到1&#xff0c;童叟无欺&#xff5e; 目标&#xff1a;用python批量下载搜索视频&#xff0c;以“CG 服装”为例 搜索图片就不放啦&#xff0c;不能过审 本章主要介绍如何用python把搜索到的视频直接下载到自己的本地文件夹中&#xff5e; 介绍一下工作…...

CNCF x Alibaba云原生技术公开课 第十二章 可观测性:监控与日志

1、监控 监控类型 资源监控&#xff1a;cpu、内存、网络等。性能监控&#xff1a;apm监控&#xff0c;一般是通过一些 Hook 的机制在&#xff0c;在虚拟机层、字节码执行层通过隐式调用&#xff0c;或者是在应用层显示注入&#xff0c;获取更深层次的一个监控指标&#xff0c…...

C语言宏定义几个问题

1.#define Ant A虽说做的是将代码中Ant替换成A&#xff0c;但是是整体的替换&#xff0c;不能将整体分离替换。 不带宏参定义一般形式如下&#xff1a; 格式&#xff1a; #define 标识符 字符串 其中“标识符”为所定义的宏名&#xff0c;“字符串”可以是常数、表达式、格式串…...

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记

本篇博客是考研期间学习王道课程 传送门 的笔记&#xff0c;以及一整年里对 计算机组成 知识点的理解的总结。希望对新一届的计算机考研人提供帮助&#xff01;&#xff01;&#xff01; 关于对 数据的表示和运算 章节知识点总结的十分全面&#xff0c;涵括了《计算机组成原理…...

springboot集成mahout实现简单基于协同过滤算法的文章推荐算法

文章目录前言1.建表并且生成一些数据首先&#xff0c;建立一个用户文章操作表&#xff08;user_article_operation&#xff09;使用case when语句简单分析数据2. 代码与测试只需要根据表生成相应实体类&#xff08;注意要加一个value属性来存储分数&#xff09;主要代码如下&am…...

自动驾驶介绍系列 ———— 看门狗

文章目录硬件看门狗软件看门狗差异分析延申窗口看门狗硬件看门狗 硬件看门狗的本质上是一个定时器电路。通常存在一个输入&#xff0c;输入到MCU的RST端。在正常工作状态下&#xff0c;MCU每隔固定时间间隔会输出一个信号给RST端&#xff0c;实现对看门狗端清零。如果在指定的时…...

今天打开个税APP,我直接人麻了!

点击上方“码农突围”&#xff0c;马上关注这里是码农充电第一站&#xff0c;回复“666”&#xff0c;获取一份专属大礼包真爱&#xff0c;请设置“星标”或点个“在看这是【码农突围】的第 432 篇原创分享作者 l 突围的鱼来源 l 码农突围&#xff08;ID&#xff1a;smartyuge&…...

javascript进阶学习笔记(含AJAX)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录前言一、JS变量&#xff08;var、let和const&#xff09;二、for/in循环三、正则表达式语法&#xff1a;正则表达式修饰符&#xff1a;正则表达式模式字符串方法&…...

今年没有金三银四

最近好几个铁子咨询目前的大环境如何&#xff0c;甚至还有几个CTO和总监级别的大佬想跳槽问有没有对应的岗位。 又到了每年金三银四的时间点&#xff0c;往年&#xff08;去年除外&#xff09;这个时候用工市场都是一遍火热&#xff0c;大家跳槽涨薪好不快活。 面对这些咨询我…...

NFS - Network FileSystem网络文件系统的实现原理

文章目录PreNFS简介NFS共享数据结构图NFS服务器的实现原理是否安装nfs安装配置NFSPre NFS - MIPS架构下构建NFS共享目录服务 NFS简介 NFS的全称是Network FileSystem&#xff0c;即网络文件系统 NFS最初是由 Sun Microsytem 公司开发出来的&#xff0c;主要实现的功能是让网络…...

C#【汇总篇】语法糖汇总

文章目录0、语法糖简介1、自动属性2、参数默认值和命名参数3、类型实例化4、集合4.1 初始化List集合的值4.2 取List中的值5、隐式类型&#xff08;var&#xff09;6、扩展方法【更换测试实例】7、匿名类型&#xff08;Anonymous type&#xff09;【待补充】8、匿名方法&#xf…...

高完整性系统工程(一): Safety Engineering, HAZOP Fault Tree Analysis

目录 1. 因果性不等同于相关性 2. HAZOP 2.1 学习HAZOP 2.2 HAZOP概览 2.3 Assessing Hazard Risks 评估 2.4 示例场景 2.5 HAZOP Guidewords 2.6 HAZOP Process 2.7 HAZOP Outcomes 2.8 HAZOP Summary 3. FAULT TREE ANALYSIS 3.1 Analysis Outcomes 1. 因果性不等…...

VGG16分类模型的网页界面(Flask,keras)

开发一个网页版的VGG16模型界面可以分为以下几个步骤&#xff1a; 步骤1&#xff1a;数据准备 首先要准备一组图片数据集&#xff0c;建议使用ImageNet数据集&#xff0c;该数据集包含超过1000个类别和100万张图像。您可以将ImageNet数据集转换为Keras的格式。如果您没有Imag…...

互联网摸鱼日报(2023-03-12)

互联网摸鱼日报&#xff08;2023-03-12&#xff09; InfoQ 热门话题 又拍云邵海杨&#xff1a;25年Linux老兵聊DevOps八荣八耻 快猫来炜&#xff1a;如何端好运维的饭碗 作业帮聂安&#xff1a;运维如何转型&#xff0c;听听作业帮的OPaS思路 CTO药方&#xff1a;如何搭建运…...

生成xcframework

打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式&#xff0c;可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...

通过Wrangler CLI在worker中创建数据库和表

官方使用文档&#xff1a;Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后&#xff0c;会在本地和远程创建数据库&#xff1a; npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库&#xff1a; 现在&#xff0c;您的Cloudfla…...

五年级数学知识边界总结思考-下册

目录 一、背景二、过程1.观察物体小学五年级下册“观察物体”知识点详解&#xff1a;由来、作用与意义**一、知识点核心内容****二、知识点的由来&#xff1a;从生活实践到数学抽象****三、知识的作用&#xff1a;解决实际问题的工具****四、学习的意义&#xff1a;培养核心素养…...

PAN/FPN

import torch import torch.nn as nn import torch.nn.functional as F import mathclass LowResQueryHighResKVAttention(nn.Module):"""方案 1: 低分辨率特征 (Query) 查询高分辨率特征 (Key, Value).输出分辨率与低分辨率输入相同。"""def __…...

MySQL 知识小结(一)

一、my.cnf配置详解 我们知道安装MySQL有两种方式来安装咱们的MySQL数据库&#xff0c;分别是二进制安装编译数据库或者使用三方yum来进行安装,第三方yum的安装相对于二进制压缩包的安装更快捷&#xff0c;但是文件存放起来数据比较冗余&#xff0c;用二进制能够更好管理咱们M…...

用鸿蒙HarmonyOS5实现中国象棋小游戏的过程

下面是一个基于鸿蒙OS (HarmonyOS) 的中国象棋小游戏的实现代码。这个实现使用Java语言和鸿蒙的Ability框架。 1. 项目结构 /src/main/java/com/example/chinesechess/├── MainAbilitySlice.java // 主界面逻辑├── ChessView.java // 游戏视图和逻辑├──…...

第八部分:阶段项目 6:构建 React 前端应用

现在&#xff0c;是时候将你学到的 React 基础知识付诸实践&#xff0c;构建一个简单的前端应用来模拟与后端 API 的交互了。在这个阶段&#xff0c;你可以先使用模拟数据&#xff0c;或者如果你的后端 API&#xff08;阶段项目 5&#xff09;已经搭建好&#xff0c;可以直接连…...

6️⃣Go 语言中的哈希、加密与序列化:通往区块链世界的钥匙

Go 语言中的哈希、加密与序列化:通往区块链世界的钥匙 一、前言:离区块链还有多远? 区块链听起来可能遥不可及,似乎是只有密码学专家和资深工程师才能涉足的领域。但事实上,构建一个区块链的核心并不复杂,尤其当你已经掌握了一门系统编程语言,比如 Go。 要真正理解区…...

Pydantic + Function Calling的结合

1、Pydantic Pydantic 是一个 Python 库&#xff0c;用于数据验证和设置管理&#xff0c;通过 Python 类型注解强制执行数据类型。它广泛用于 API 开发&#xff08;如 FastAPI&#xff09;、配置管理和数据解析&#xff0c;核心功能包括&#xff1a; 数据验证&#xff1a;通过…...

相关类相关的可视化图像总结

目录 一、散点图 二、气泡图 三、相关图 四、热力图 五、二维密度图 六、多模态二维密度图 七、雷达图 八、桑基图 九、总结 一、散点图 特点 通过点的位置展示两个连续变量之间的关系&#xff0c;可直观判断线性相关、非线性相关或无相关关系&#xff0c;点的分布密…...