算法知识点————双指针【删除重复元素】【反转链表】
删除重复元素
题目://给你一个 非严格递增排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数
思路:
快指针遍历数组
慢指针记录保留的
int removedup(vector<int>& nums){int len = nums.size();int fast =1;//快指针遍历数组int slow =1; //慢指针记录保留的if(len ==0){//参数校验return 0;}while(fast < len){if(nums[fast] != nums[fast-1]){nums[slow]=nums[fast];slow++;}fast++;}return slow;
}
反转链表
1、先用c记录b一会的位置,
2、然后b指向a节点
3、然后ab后往后移动一个,
循环此过程

/翻转链表(迭代版本)
struct ListNode{int val;ListNode *next;ListNode(int x): val(x),next(NULL){}
};
ListNode* ReverseList(ListNode* head){if(!head || !head->next) return head; //只有一个结点或者节点为空auto a = head;//自动匹配类型auto b = head->next;while(b){auto c = b->next;//记录一下b一会的位置b->next = a;a = b;b = c;}head->next = NULL;return a;
}///反转链表和上面一样效果
class Solution {
public:ListNode* reverseList(ListNode* head) {ListNode* prev = nullptr;while (head) {ListNode* next = head->next;head->next = prev;prev = head;head = next;}return prev;}
};
相关文章:
算法知识点————双指针【删除重复元素】【反转链表】
删除重复元素 题目://给你一个 非严格递增排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数 思路:…...
建造者模式builder
此篇为学习笔记,原文链接 https://refactoringguru.cn/design-patterns/builder 能够分步骤创建复杂对象。 该模式允许你使用相同的创建代码生成不同类型和形式的对象...
IEC103设备数据 转 IEC61850项目案例
目录 1 案例说明 1 2 VFBOX网关工作原理 1 3 准备工作 2 4 配置VFBOX网关采集103设备数是 2 5 用IEC61850协议转发数据 4 6 网关使用多个逻辑设备和逻辑节点的方法 6 7 IEC103协议说明 8 8 案例总结 9 1 案例说明 设置网关采集IEC103设备数据把采集的数据转成IEC61850协议转发…...
438.找到字符串中所有字母异位词
题目 链接:leetcode链接 思路分析(滑动窗口) 很容易想到,这个题目要求我们在字符串s中找到一个定长的窗口让窗口里面出现异位词。 OK,先思考一下怎么快速判断两个字符串是否是异位词? 比较简单的方法是…...
Microsoft SC-100: Microsoft 网络安全架构师
SC-100认证介绍 Microsoft SC-100: Microsoft 网络安全架构师是微软网络安全方向的相关证书, 作为 Microsoft 网络安全架构师,你要将网络安全策略转化为保护组织的资产、业务和运营的功能。 你要设计、指导实现和维护遵循零信任原则和最佳做法的安全性解…...
代码随想录训练营day42|188.买卖股票的最佳时机IV,309.最佳买卖股票时机含冷冻期,714.买卖股票的最佳时机含手续费
188.买卖股票的最佳时机IV 变成了最多可以买卖k只股票 class Solution { public:int maxProfit(int k, vector<int>& prices) {vector<vector<int>> dp(prices.size(),vector<int>(2*k1,0));for(int i1;i<2*k1;i2){dp[0][i]-prices[0];}//初始…...
解决Pynput不能在Ubuntu22.04上正常使用问题
pynput 是一个 Python 库,它提供了一套简单的接口来控制和监控输入设备,包括鼠标和键盘。这个库允许开发者编写跨平台的代码来处理输入事件,无需担心底层操作系统的差异。 下面是pynput的测试程序: from pynput.keyboard import …...
IPV4端口数据有哪些?
关于IPv4的端口数据包括端口号,协议类型,端口状态,扫描时间以及开放时间,这些是常见的实时IPv4端口扫描和分析数据。 IPv4端口号 Ipv4端口号是一个16位的无符号整数,范围从0到65535,这些端口号用于区分运…...
【爱加密_云平台-注册/登录安全分析报告】
前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 暴力破解密码,造成用户信息泄露短信盗刷的安全问题,影响业务及导致用户投诉带来经济损失,尤其是后付费客户,风险巨大,造成亏损无底洞…...
Open CASCADE学习|按圆离散旋转体
旋转体是一个非常重要的概念,它涉及到三维空间中由二维曲线绕某一轴线旋转形成的立体形状。这种旋转体的形成过程,实际上是一个连续变化的动态过程,但在数学和几何学中,我们往往通过静态的方式来描述和研究它。 旋转体的基本特性…...
无人矿车使用ZMQ消息代理进行跨机互联进行消息收发
目录 背景 前景知识 1.启动一个代理服务器 2.发布者 3.订阅者 实际应用 1.模拟智驾收来自交互箱131的按钮json数据 2.模拟交互箱131收来自智驾137的cjson数据 背景 在调试防爆无轨无人矿车时,出现消息代理不能很好转发,于是在公司通过代理的方式…...
医疗机构关于DIP/DRG信息化建设
推进DIP/DRG支付方式改革是一项系统性工程,牵一发而动全身。作为河北省DIP试点医院,河北医科大学第二医院将信息化与创新性管理理念融合,用好支付工具做好精细化管理,积极应对改革。 ■ 改革背景 国家医疗保障局制定的《DRG/DIP支…...
100个候选人,没一个能讲明白什么是自动化框架?
什么是自动化测试框架 01 什么是框架 框架是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法。它规定了应用的体系结构,阐明了整个设计、协作构件之间的依赖关系、责任分配和控制流程,表现为一组抽象类以及其实例之间…...
数据结构与算法1: 链表
题目名称: 重排链表 链接: . - 力扣(LeetCode) 介绍:本题的目标是将链表进行重新组合,如下图。 如果按照标准的解法,我们需要实现三步 1. 链表中点的获取 2. 链表的反转 3. 链…...
【专题】2024年8月医药行业报告合集汇总PDF分享(附原数据表)
原文链接:https://tecdat.cn/?p37621 在科技飞速发展的当今时代,医药行业作为关乎人类生命健康的重要领域,正处于前所未有的变革浪潮之中。数智医疗服务的崛起,为医疗模式带来了全新的转变,开启了医疗服务的新时代。…...
这10种人不适合干项目经理,你在其中吗?
在一个项目中,项目经理扮演着至关重要的角色,他们需要协调各种资源、管理团队、制定计划以及应对各种挑战。然而,并非每个人都适合担任项目经理的角色。以下他们天生不适合当项目经理,你会在其中找到自己的类型吗? 1、…...
IT每日英语(三)
系列文章目录 IT每日英语(二) 文章目录 系列文章目录前言1.collie2.century3.farewell4.meme5.hall6.needle7.simulate8.emulate9.arbitray10.laboratory11.jest12.suite13.approach14.satellite15.instance16.representation 前言 这里给出的是本人在…...
【保姆级教程】如何创建一个vitepress项目?
文章目录 安装前的准备工作项目安装创建文件初始化文件安装依赖遇到了 missing peer deps 警告?命令行设置向导 完成 安装前的准备工作 Node.js 18 及以上版本。通过命令行界面 (CLI) 访问 VitePress 的终端。支持 Markdown 语法的编辑器。推荐 VSCode 及其官方 Vu…...
智能头盔语音识别声控芯片,AI离线语音识别ic方案,NRK3301
头盔是交通事故中保护电动车车主安全的最后一道屏障。为了增加骑行用户的安全保护,改善骑行用户的出行体验,让用户从被动使用头盔到主动佩戴头盔,头盔厂家与九芯电子合作,推出了语音智能头盔,它具备首家骑行专用的智能…...
【STM32】CAN总线基础入门
CAN总线基础入门 一、CAN简介二、主流通信协议对比三、CAN物理层1、CAN硬件电路2、CAN电平标准3、CAN收发器 – TJA1050(高速CAN)4、CAN物理层特性 四、帧格式1、CAN总线帧格式2、数据帧3、数据帧各部分用途简介4、数据帧的发展历…...
变压器差动保护MATLAB/simulink仿真 变压器差动保护仿真➕报告
变压器差动保护MATLAB/simulink仿真 变压器差动保护仿真➕报告第一部分:Simulink 仿真模型搭建指南 以下是变压器差动保护的Simulink模型搭建步骤及核心代码,包含模型参数设置、差动逻辑实现和仿真分析: 一、Simulink模型搭建 打开MATLAB&…...
前端埋点数据爆炸?WebTracing缓存策略与采样率配置避坑指南
前端埋点数据治理实战:WebTracing缓存策略与采样率配置深度解析 当你的应用日活突破百万量级时,埋点数据会像雪崩一样涌向服务器。某电商平台曾因未合理配置前端监控,导致单日产生2.3TB冗余埋点数据,不仅每年浪费数百万云存储成本…...
中文文本结构化落地指南:BERT-通用领域模型多行业应用案例
中文文本结构化落地指南:BERT-通用领域模型多行业应用案例 1. 文本分割技术背景 在日常工作和学习中,我们经常会遇到大段的连续文本,比如会议记录、讲座文稿、采访实录等。这些文本通常缺乏段落分隔,读起来费时费力,…...
Pixel Mind Decoder 效果对比评测:在不同文体和语言风格下的表现
Pixel Mind Decoder 效果对比评测:在不同文体和语言风格下的表现 1. 核心能力概览 Pixel Mind Decoder 是一款专注于文本情绪解码的模型,能够识别和分析不同文本中蕴含的情感倾向。与通用情感分析工具不同,它特别擅长处理复杂语境下的微妙情…...
Youtu-VL-4B-Instruct基础教程:system message规范写法避免API响应异常
Youtu-VL-4B-Instruct基础教程:system message规范写法避免API响应异常 你是不是在用Youtu-VL-4B-Instruct的API时,偶尔会遇到一些奇怪的响应?比如模型突然不按套路出牌,或者干脆给你返回一些看不懂的内容? 别担心&a…...
UnrealPakViewer工具解析:UE4资源管理的可视化解决方案
UnrealPakViewer工具解析:UE4资源管理的可视化解决方案 【免费下载链接】UnrealPakViewer 查看 UE4 Pak 文件的图形化工具,支持 UE4 pak/ucas 文件 项目地址: https://gitcode.com/gh_mirrors/un/UnrealPakViewer UnrealPakViewer是一款专为UE4开…...
RTKLIB进阶指南:深入理解北斗三代CNAV电文与BDS-3星历数据结构
RTKLIB进阶指南:北斗三代CNAV电文与星历数据结构深度解析 当你在RTKLIB的源码中第一次看到eph_t结构体里那些神秘的Adot、ndot字段时,是否好奇过它们如何精确描述北斗三号卫星的轨道变化?这些看似简单的浮点数背后,隐藏着中国自主…...
解锁旧Mac新生命:技术伙伴如何突破苹果限制
解锁旧Mac新生命:技术伙伴如何突破苹果限制 【免费下载链接】OpenCore-Legacy-Patcher 体验与之前一样的macOS 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 你是否曾想过,那些被苹果官方"抛弃"的老旧Ma…...
UnityXR实战:用Pico实现物体抓取与场景重置(含材质交互技巧)
UnityXR实战:用Pico实现物体抓取与场景重置(含材质交互技巧) 在虚拟现实开发领域,交互体验的质量往往决定了产品的成败。Pico作为国内领先的VR设备,结合UnityXR框架,为开发者提供了强大的工具链来实现沉浸式…...
Obsidian插件终极汉化指南:obsidian-i18n让英文插件秒变中文界面
Obsidian插件终极汉化指南:obsidian-i18n让英文插件秒变中文界面 【免费下载链接】obsidian-i18n 项目地址: https://gitcode.com/gh_mirrors/ob/obsidian-i18n 你是否因为Obsidian插件的英文界面而头疼?面对"Backlink"、"Graph …...
