首页 > 编程语言 >【408DS算法题】022基础-递增输出单链表中的结点值

【408DS算法题】022基础-递增输出单链表中的结点值

时间:2024-08-22 23:51:32浏览次数:13  
标签:pre 结点 题目 cur 408DS 表中 minPre 022 minV

Index

题目

给定单链表的头结点,按照递增的顺序,输出单链表结点的值。


分析实现

具体实现如下:



总结

注意delete执行后,只会将指针指向的内容删除,但指针变量依旧存在。

以上内容稍后补全,以下内容来自https://blog.csdn.net/weixin_60702024/article/details/141336041

Index

题目

试编写在带头结点的单链表L中删除一个最小值结点的高效算法。


分析实现

在思路上本题类似于【查找链表的倒数第k个节点】,通过记录目标结点的前驱结点来达到删除目标结点的目的。额外地,本题还新增了一对指针minVminPre来特别记录真正的目标结点。

具体实现如下 :

void deleteMin(LNode* head){
	// cur-当前待判断结点	pre- cur的前驱结点,用于存储候选minPre
	LNode *cur = head->next, *pre = head;
	// minV-结点元素最小的结点	 minPre- minV的前驱结点,用于删除minV
	LNode *minV = cur, *minPre = pre;
	while(cur){
		if(cur->val < minV->val){
			// 维护 minV 和 minPre
			minV = cur;
			minPre = pre;
		}
		pre = cur;
		cur = cur->next;
	}
	minPre->next = minV->next;
	delete minV;
}

总结分析

本体思路依旧不难想出,变量的含义也十分明确。重点在于通过本题练习写出代码的过程中保持代码的简洁,同时又不缺少必要的变量。

标签:pre,结点,题目,cur,408DS,表中,minPre,022,minV
From: https://blog.csdn.net/weixin_60702024/article/details/141439651

相关文章

  • NOI2022 众数
    经典题目,对于绝对众数只需要考虑这一个序列的中位数在序列中出现次数是否大于一半即可。这道题用线段树合并维护一下就做完了。点击查看代码#include<bits/stdc++.h>#definefirfirst#definesecsecond#defineintlonglong#definemkp(a,b)make_pair(a,b)usingname......
  • NSSCTF [HNCTF 2022 Week1]Interesting_include
    <?php//WEB手要懂得搜索//flagin./flag.phpif(isset($_GET['filter'])){$file=$_GET['filter'];if(!preg_match("/flag/i",$file)){die("error");}include($file);}else{highlight_file(__......
  • Windows Server 2022 中文版、英文版下载 (updated Aug 2024)
    WindowsServer2022中文版、英文版下载(updatedAug2024)WindowsServer2022x64,Version21H2请访问原文链接:https://sysin.org/blog/windows-server-2022/,查看最新版。原创作品,转载请保留出处。直接上链接,详细说明请访问原文查看。下载地址WindowsServer2022LTSC......
  • VS2022+QT6.7.2 定时器的使用(两种方法)
    目录一、继承QObject定时器事件二、QTimer类三、具体实现一、继承QObject定时器事件  所有继承自QObject的类,都会有一个timerEvent(QTimerEvent*event)的纯虚函数,startTimer()设定定时间隔并启动,再重载这个函数以处理自己的定时任务,多个定时任务用timeId区分,结束后......
  • java如何判断一个列表中是否存在大于1000的数字
    个人名片......
  • solution-2022 CCPC Guilin J. Permutation Puzzle
    题解:2022CCPC桂林站J题题解模拟赛T3放了这道题人均场切了。我没删调试爆零了。首先按所有限制连边\(u_i\tov_i\)。题目保证了这是一张有向无环图。我们肯定是只能按照某种拓扑序来填。有一个非常显然的策略是在拓扑排序中按照每个点的后继节点的最小值为第一关键字,更......
  • 解密财务报表中的关键指标,带你深入理解企业财务状况
    一、概述财务报表中蕴含了丰富的信息,如果我们在解读时没有清晰的思路,忽略重点,就很容易被庞杂的数据搞得晕头转向。本文将从几个关键指标出发,包括资产负债率的分析、净资产收益率的解读,以及如何计算销售复合增长率,帮助大家更有针对性地理解财务报表。二、财务报表关键在哪?首先,我......
  • CTS2022
    D1T1普罗霍洛夫卡考虑扫描线,那么问题就变成了区间\(+1\),区间历史异或和问题。我们先单独考虑一个数的情况,如果在\(j\)时刻,\(b_i\)增加了\(1\),发现对于后面的所有询问时刻\(j'\),如果\(j\)和\(j'\)的奇偶性相同,那么就会产生\(b_i\oplus(b_i+1)\)的贡献。而由于初始......
  • NSSCFT [SWPUCTF 2022 新生赛]ez_ez_php
    进入之后就看见一段php代码,那就直接开始代码审计<?phperror_reporting(0);if(isset($_GET['file'])){if(substr($_GET["file"],0,3)==="php"){//截取字符串前三个字符,并与php做判断echo"Nice!!!";include($_GET["file&qu......
  • 在Echarts中的图表中添加水印
    在Echarts中添加水印可以帮助你保护你的图表不被非法复制。水印可以是一个文本字符串、图像或两者的组合,它可以添加到图表的背景、标题或其他可见元素上。以下是如何在Echarts中添加水印的步骤:1创建水印首先,你需要创建一个水印。这可以是文本、图像或其他任何你想要的形状......