c++算法第二天

news2024/11/16 17:54:29

温馨提示:本篇文章适合刚开始练算法的小白,大佬若见勿嘲

题目

题目解析

遇到0写两遍,非0写一遍,其余非零数右移即可

编写原理

第一步找到最后一个被复写的数

先根据题目所给的例子找到最后一次要复写的数字

20240923_142843

第二步特殊情况处理

特殊情况就是当数组内的所有元素全为0时

20240923_143852

20240923_144056

第三步复写数字

从后往前依次复写

20240923_144745

代码编写

class Solution {

public:

    void duplicateZeros(vector<int>& arr) {

    int cur = 0, dest = -1;

    while(cur < arr.size())

    {

        if(arr[cur] != 0) dest++;

        else

           dest += 2;

        if(dest >= arr.size() - 1)

        break;

        cur++;

    }

    if(dest == arr.size())

    {

        arr[arr.size() - 1] = 0;

        dest -= 2;

        cur--;

    }

    while(cur >= 0)

    {

        if(arr[cur]) arr[dest--] = arr[cur--];

        else

        {

            arr[dest--] = 0;

            arr[dest--] = 0;

            cur--;

        }

    }

    }

};

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

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

相关文章

【AI学习】Lilian Weng:Extrinsic Hallucinations in LLMs(LLM 的外在幻觉)

来自OpenAI 的 Lilian Weng的《Extrinsic Hallucinations in LLMs》 Date: July 7, 2024 | Estimated Reading Time: 30 min | Author: Lilian Weng 文章链接&#xff1a;https://lilianweng.github.io/posts/2024-07-07-hallucination/ 大概看了一下&#xff0c;这篇文章的核…

重新拉取maven-jar包

问题&#xff1a;经常会出现这种情况&#xff1a;一个项目重新打包之后&#xff0c;在另外一个项目中无法引用。可以尝试一下解决方式 1&#xff1a;右上角重新拉取&#xff1a; 2&#xff1a;清理所有缓存&#xff1a;idea-file-invalidate Caches 3:设置拉取方式&#xff…

【论文速看】DL最新进展20240926-图像分割、图像修复、CNN

目录 【图像分割】【图像修复】【CNN】 【图像分割】 [2024] CAD: Memory Efficient Convolutional Adapter for Segment Anything 论文链接&#xff1a;https://arxiv.org/pdf/2409.15889 代码链接&#xff1a;https://github.com/Kyyle2114/Convolutional-Adapter-for-Segme…

Linux防火墙-什么是防火墙

作者介绍&#xff1a;简历上没有一个精通的运维工程师。希望大家多多关注作者&#xff0c;下面的思维导图也是预计更新的内容和当前进度(不定时更新)。 什么是防火墙 我们想象一下把每台服务器当成一个小区&#xff0c;我们去访问另外一个小区的朋友&#xff0c;我们需要经过什…

什么是开放式耳机?具有什么特色?非常值得入手的蓝牙耳机推荐

开放式耳机是当下较为热门的一种耳机类型。它具有以下特点&#xff1a; 设计结构&#xff1a; 呈现开放式的构造&#xff0c;不会完全堵住耳道。如此一来&#xff0c;外界声音能够较容易地被使用者听到&#xff0c;在使用耳机时可以保持对周围环境的察觉。比如在户外&#xf…

每日一练:二叉搜索树中第K小的元素

230. 二叉搜索树中第 K 小的元素 - 力扣&#xff08;LeetCode&#xff09; 一、题目要求 给定一个二叉搜索树的根节点 root &#xff0c;和一个整数 k &#xff0c;请你设计一个算法查找其中第 k 小的元素&#xff08;从 1 开始计数&#xff09;。 示例 1&#xff1a; 输入&a…

配置anaconda环境变量的影响

配置anaconda环境变量的影响 配置虚拟机的过程&#xff1a;拉取一个配置为pytorch1.12.0-python3.7的docker镜像&#xff0c;创建虚拟机。创建好了之后验证了torch可以调用GPU。之后安装anaconda&#xff0c;并配置/root/anaconda的环境变量&#xff0c;之后创建虚拟环境wyq。…

性能优化与资源管理:优化Selenium脚本的执行效率,合理管理浏览器实例和系统资源

目录 引言 一、Selenium基础与常用方法 1.1 Selenium简介 1.2 Selenium基础用法 二、Selenium性能优化技巧 2.1 使用WebDriverWait实现显式等待 2.2 启用无头模式 2.3 设置合理的页面加载策略 2.4 禁用图片和JavaScript加载 2.5 优化元素定位 2.6 合理使用隐式等待和…

《经典图论算法》约翰逊算法(Johnson)

摘要&#xff1a; 1&#xff0c;约翰逊算法的介绍 2&#xff0c;约翰逊算法的实现步骤 3&#xff0c;约翰逊算法的准确性验证 4&#xff0c;约翰逊算法的代码实现 1&#xff0c;约翰逊算法的介绍 约翰逊算法(Johnson algorithm)是在稀疏图上求每对顶点之间最短路径的一种算法&a…

EchartJs报表展示

EchartJs报表展示 1、Echarts介绍 我们当前项目下的图形报表是使用echarts实现&#xff0c;所以接下来我们学习下echart的基本使用。 echarts Apache官网&#xff1a;https://echarts.apache.org/zh/index.html 点击所有示例&#xff0c;可快速学习echarts的基本使用&#x…

2024 大厂 Java 面试题汇总,作为 Java 程序员必须要掌握的技术栈

面试就是大家身边总是存在各种各样的可能,而自身又具备这样的能力,就忍不住想试一试&#xff0c;尤其是到了年关&#xff0c;是一个好的蓄势并且认真积累的阶段。当然面试套路众多&#xff0c;但对于技术面试来说&#xff0c;主要是考察一个人的技术能力和沟通能力。不同类型的…

一文了解智能无感知验证码

在数字化浪潮中&#xff0c;验证码作为守护信息安全的第一道关卡&#xff0c;其重要性日益凸显。它不仅用于识别真实用户与机器程序&#xff0c;更是防范网络攻击、保障数据安全的关键手段。本文将深入探讨验证码的定义、作用、分类&#xff0c;并重点介绍智能无感知验证码这一…

常用并发设计模式精讲

1. 优雅终止线程的设计模式 思考&#xff1a;在一个线程 T1 中如何优雅的终止线程 T2&#xff1f; 正确思路&#xff1a;两阶段终止模式 1.1 两阶段终止&#xff08;Two-phase Termination&#xff09;模式——优雅的终止线程 两阶段终止&#xff08;Two-phase Termination…

数据结构升华部分:排序与字符串匹配算法应用

数据结构入门学习&#xff08;全是干货&#xff09;——综合应用 习题选讲 - 排序与字符串匹配算法 习题选讲 - Insert or Merge 习题-IOM.1 插入排序的判断 题意理解 如何区分简单插入和非递归的归并排序 插入排序&#xff1a;前面有序&#xff0c;后面没有变化。归并排…

JUC高并发编程3:线程间通信

1 线程间通信 线程间通信的模型有两种&#xff1a;共享内存和消息传递&#xff0c;以下方式都是基本这两种模型来实现的。我们来基本一道面试常见的题目来分析 场景&#xff1a;两个线程&#xff0c;一个线程对当前数值加 1&#xff0c;另一个线程对当前数值减 1,要求用线程间…

【智能控制】第15章 智能优化算法,遗传算法

目录 15.1 遗传算法及其应用 15.1.1 遗传算法的基本原理 15.1.2 遗传算法的特点 15.1.3 遗传算法的应用领域 遗传算法的应用 15.1.4 遗传算法的设计 遗传算法的应用步骤 15.1.5 遗传算法求函数极大值 随着优化理论的发展&#xff0c;一些新的智能算法得到了迅速发…

深度学习:ResNet残差神经网络

目录 一、什么是ResNet残差神经网络 二、残差结构 三、18层残差网络 1.最初残差网络变体 2.图片示例 3.表格示例 四、批次归一化&#xff08;Batch Normalization&#xff09; 1.工作过程 2.主要作用 五、ResNet残差神经网络解决了传统神经网络什么问题 1.梯度消失和…

node-red-L3-重启指定端口的 node-red

重启指定端口 目的步骤查找正在运行的Node.js服务的进程ID&#xff08;PID&#xff09;&#xff1a;停止Node.js服务&#xff1a;启动Node.js服务&#xff1a; 目的 重启指定端口的 node-red 步骤 在Linux系统中&#xff0c;如果你想要重启一个正在运行的Node.js服务&#x…

【AI绘画】Midjourney进阶:光影控制详解

博客主页&#xff1a; [小ᶻZ࿆] 本文专栏: AI绘画 | Midjourney 文章目录 &#x1f4af;前言&#x1f4af;为什么要学习光影控制光影控制的作用 &#x1f4af;强化主题hard lighting&#xff08;硬光 &#xff09;soft lighting&#xff08;软光/柔光&#xff09;测试 &…

利用Puppeteer-Har记录与分析网页抓取中的性能数据

引言 在现代网页抓取中&#xff0c;性能数据的记录与分析是优化抓取效率和质量的重要环节。本文将介绍如何利用Puppeteer-Har工具记录与分析网页抓取中的性能数据&#xff0c;并通过实例展示如何实现这一过程。 Puppeteer-Har简介 Puppeteer是一个Node.js库&#xff0c;提供…