秋招突击——6/21——新作{两两交换链表中的节点,K个一组反转链表}

文章目录

    • 引言
    • 新做
      • 删除有序数组中的重复项
        • 个人实现
      • K 个一组翻转链表
        • 个人实现
        • 参考代码
    • 总结

引言

  • 上午完全去听讲座了,听了三场,拿了三个讲座单,从九点一直到十二点。笔记本电脑插电才能用,就没带,所以没有进行复习。只有晚上的新作。

新做

删除有序数组中的重复项

  • 题目链接
    在这里插入图片描述
    在这里插入图片描述
个人实现
  • 非严格递增序列,原地删除重复出现的元素,每一个元素只出现一次
  • 元素的相对顺序保持一致,返回nums中唯一元素的个数
    要求
  • 前k个元素包含唯一的元素,其余的元素与nums大小不重要
  • 返回K

这个题目注意

  • 和之前的一样,这道题要看清楚,我就觉得奇怪,原来他妈的昨天做过了,我靠。

具体实现

  • index,不同的元素复制过来,如果相同的元素直接跳过。
class Solution {
public:int removeDuplicates(vector<int>& nums) {int idx = 0;for (int i = 0; i < nums.size(); ) {nums[idx] = nums[i];idx ++ ,i ++;while(i < nums.size() && nums[i] == nums[i - 1]) i ++;}return idx;}
};

K 个一组翻转链表

在这里插入图片描述
在这里插入图片描述

个人实现
  • 拆解问题,这个可以拆解成子链表反转 + 遍历到第K个链表。

  • 子链表反转

    • 三个指针节点a,b,c。然后交换a和b,使用c记录对应的下一个链表的内容
  • 遍历k个链表

    • 使用k进行遍历,然后获取对应的值,这个主要是获取需要改变的头结点,然后在进行遍历
  • 有点心神不宁,有点烦躁,不是很想写了,有点烦,所以暂时就这样吧。

  • 卡在了怎么保证找到第k个节点的头节点是啥

下述代码没有调整过,只是有点心神不宁,心烦意乱,内心难以平静

  • 总的来说,大概逻辑是实现的,但是没有调通。
 ListNode* reverseKGroup(ListNode* head, int k) {int idx = 0;auto dummy = new ListNode();dummy->next = head;// 这里是要遍历k次,然后再往后进行遍历auto  l = dummy,r = dummy;while (r){r = r->next,idx ++;if (idx == k - 1) {auto a = l,b = l->next,c = l->next->next;do {b->next = a;c = c->next;a = b;b = c;}while(c == r);idx = 0;l = r;}}
}

在这里插入图片描述

参考代码

思路分析

  • 他是从整体的角度出发的,具体步骤如下
    • 先是交换的邻接节点的指针,让他反转
    • 然后在交换的对应的头结点,保证首尾节点的连接相关性

具体步骤如下

  • 先往后遍历k次 ,如果可以的话,就跳过
  • 然后更换对应的邻接节点的指针

在这里插入图片描述

ListNode* reverseKGroup(ListNode* head , int k){auto dummy = new ListNode(-1);dummy->next = head;for (auto p = dummy;;) {// 这里是向后遍历k次,判定当前这个阶段能否进行遍历auto q = p;for (int i = 0; i < k && q; ++i) q = q->next;if (!q) break;// 定义邻接节点反转指针auto  a = p->next ,b = a->next;for (int i = 0; i < k - 1; ++i) {// 保存b的后继节点auto c = b->next;// 反转b的next节点方向b->next = a;// 然后的三个指针向后迁移a = b,b = c;}// 反转首尾节点的指向auto c = p->next;p->next = a,c->next = b;p = c;}return dummy->next;
}

总结

  • 昨天就做了一道题,两道题,拖到了今天早上才发,不行呀!不过昨晚,解决了我内心的一根刺,心情好了很多的。
  • 继续加油!

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

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

相关文章

qt开发-08_layout 布局

Qt 提供了非常丰富的布局类&#xff0c;基本布局管理类包括&#xff1a;QBoxLayout、QGridLayout、QFormL ayout 和 QStackedLayout。这些类都从 QLayout 继承而来&#xff0c;它们都来源于 QObject&#xff08;而不是 QWi dget&#xff09;。创建更加复杂的布局&#xff0c;可…

广东省建筑施工安管人员考核报名流程及照片处理方法

广东省建筑施工企业安管人员考核工作现已全面启动&#xff0c;这对于提升建筑行业的安全生产管理水平至关重要。为了确保广大考生能够顺利报名并参与考核&#xff0c;本文精心梳理了考核报名流程&#xff0c;并提供了证件照的规范处理方法。同时&#xff0c;针对证件照这一关键…

windows端口被占用问题,杀死进程

描述&#xff1a;端口被占用 在使用IntelliJ IDEA运行程序时&#xff0c;可能会遇到端口占用的情况&#xff0c;这通常由以下几个原因引起&#xff1a; 1、同一程序多次启动&#xff1a;如果你没有正确关闭之前运行的程序实例&#xff0c;再次尝试运行相同的程序时&#xff0c;…

兴顺物流管理系统的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;管理员管理&#xff0c;驾驶员管理&#xff0c;物流资讯管理&#xff0c;车辆管理&#xff0c;基础数据管理 员工账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;物流资讯管理&…

秋招突击——6/17——复习{整理昨天的面试资料}——新作{删除链表倒数第n个节点}

文章目录 引言复习新作删除链表倒数第N个节点题目描述个人实现参考实现 总结 引言 主管面&#xff0c;面的很凄惨&#xff0c;不过无所谓了&#xff0c;我已经尽力了。上午都在整理的面经&#xff0c;没有复习算法&#xff0c;而且这两天要弄一下论文&#xff0c;二十号就要提…

C#使用Scoket实现服务器和客户端互发信息

20240616 By wdhuag 目录 前言&#xff1a; 参考&#xff1a; 一、服务器端&#xff1a; 1、服务器端口绑定&#xff1a; 2、服务器关闭&#xff1a; 二、客户端&#xff1a; 1、客户端连接&#xff1a; 2、客户端断开&#xff1a; 三、通讯&#xff1a; 1、接收信…

Hallo技术:革新电影、游戏与虚拟现实中的动态肖像动画

在数字娱乐的浪潮中&#xff0c;逼真的动态肖像动画成为了电影制作、游戏开发和虚拟现实等领域不可或缺的一部分。复旦大学研发的Hallo技术&#xff0c;以其独特的扩散模型和分层音频驱动视觉合成模块&#xff0c;为这一领域带来了革命性的突破。 技术概览 Hallo技术是一种基…

Spring Boot启动报错Lombok supports: sun/apple javac 1.6, ECJ

版本 idea 2023.3.4 <dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.32</version></dependency> 解决方式 File->Settings->Build, Execution, Deployment->Com…

利用机器学习重构视频中的人脸

引言 中国与英国的研究团队携手合作&#xff0c;开创了一种创新的视频面孔重塑技术。这项技术能够以极高的一致性对视频中的面部结构进行逼真的放大和缩小&#xff0c;且避免了常见伪影的产生。 从研究人员选取的YouTube视频样例中可见&#xff0c;经过处理后&#xff0c;女演…

UE4中性能优化和检测工具

UE4中性能优化和检测工具合集 简述CPUUnreal InsightUnreal ProfilerSimpleperfAndroid StudioPerfettoXCode TimeprofilerBest Practice GPUAdreno GPUMali GPUAndroid GPU Inspector (AGI) 内存堆内存分析Android StudioLoliProfilerUE5 Memory InsightsUnity Mono 内存Memre…

去水印助手,小熊录屏,OldRoll复古胶片相机

我们将带大家了解三款特色应用,软件是经过大佬处理过的&#xff0c;都非常的好用&#xff01;今天分享给大家&#xff01;如果你也喜欢这几款软件不要忘记给博主点击点赞和再看哦&#xff01; 软件获取链接在链接的底部&#xff1a; 一键去水印助手 无论您是在各大社交平台上…

android倒计时封装(活动进入后台,倒计时依然能正常计时)

public class TimeUtils { /倒计时时长 单位&#xff1a;秒/ public static int COUNT 20*60; /当前做/ private static int CURR_COUNT 0; /预计结束的时间/ private static long TIME_END 0; /计时器/ private static Timer countdownTimer; /显示倒计时的textVi…

Keil MDK生成LIB库以及使用LIB库

一.keil下lib静态库的使用具有以下优点&#xff1a; 1.封装源代码&#xff0c;对外不开放&#xff0c;提高保密性。 2.将标准功能函数封装成库&#xff0c;提高代码的复用性。 3.使用库开发&#xff0c;简化开发流程&#xff0c;提高开发效率。 4.系统调用库函数&#xff0…

51单片机STC89C52RC——5.1 LCD1602液晶显示屏

目录 目的 一&#xff0c;STC单片机模块 二&#xff0c;LCD1602 2.1 模块简介 2.2 针脚 2.3 DDRAM地址与显示器对应关系 2.4 标准字库表 2.5 常用指令 2.6 读写操作 三&#xff0c;创建Keil项目 四&#xff0c;代码 五&#xff0c;代码编译、下载到51单片机 六&a…

PyTorch -- Batch Normalization(BN) 快速实践

Batch Normalization 可以 改善梯度消失/爆炸问题&#xff1a;前面层的梯度经过多次传递后会变得非常小(大)&#xff0c;从而导致网络收敛速度慢(不收敛)&#xff0c;应用 BN 可缓解加速网络收敛&#xff1a;BN 使得每个神经元的输入分布更加稳定减少过拟合&#xff1a;BN 可减…

【ajax基础01】ajax简介

目录 一&#xff1a;ajax简介 1 什么是ajax 二&#xff1a;ajax使用 1 如何使用ajax 2 axios使用&#xff08;重点&#xff09; 三&#xff1a;案例 四&#xff1a;如何赚钱 一&#xff1a;ajax简介 1 什么是ajax AJAX&#xff08;Asynchronous JavaScript And XML &am…

展厅装修时候需要注意哪些细节

1、视觉方面 展厅应该具有很强的视觉冲击力。只有这样不论是领导视察还是合作的客户进行参观的时候才会对展厅产生浓厚的兴趣&#xff0c;同时产生一种亲和力&#xff0c;并直接加深对企业的识别度和记忆度。而个性化设计要跟企业文化相符合。这里&#xff0c;企业标志为寻求个…

为何云原生是未来?企业IT架构的颠覆与重构

&#x1f407;明明跟你说过&#xff1a;个人主页 &#x1f3c5;个人专栏&#xff1a;《未来已来&#xff1a;云原生之旅》&#x1f3c5; &#x1f516;行路有良友&#xff0c;便是天堂&#x1f516; 目录 一、引言 1、什么是云原生 2、云原生的背景和起源 背景 起源 关…

[JS]数据类型

介绍 在计算中一切事物都是数据, 为了提高数据的存储和使用效率, 要对数据进行类型的分类 栈(操作系统): 由操作系统自动分配释放函数的参数值, 局部变量的值等, 其操作方式类似于数据结构中的栈; 基本数据类型存放在栈里面string, number, boolean, undefined, null 堆(操作…