【力扣100】4.移动零

题目链接
我的题解:

class Solution:def moveZeroes(self, nums: List[int]) -> None:"""Do not return anything, modify nums in-place instead."""# 思路是先计算共有几个0,然后remove几次,再末位加几个0count=0for i in nums:if i ==0:count=count+1for j in range(0,count):nums.remove(0)nums.append(0)

我觉得这个方法太蠢了
想一下双指针的方法

class Solution:def moveZeroes(self, nums: List[int]) -> None:"""Do not return anything, modify nums in-place instead."""# fast指针遇见0向后挪# slow指针遇见0跟fast交换fast=0slow=0for fast in range(len(nums)):if nums[fast]==0:fast+=1else:nums[slow]=nums[fast]fast+=1slow+=1for i in range(slow,len(nums)):nums[i]=0

双指针,最后补0

class Solution:def moveZeroes(self, nums: List[int]) -> None:"""Do not return anything, modify nums in-place instead."""left = 0for i in range(len(nums)):if nums[i] != 0:nums[left], nums[i] = nums[i], nums[left]left += 1

双指针,快指针指到非0,就交换,因为慢指针都会指到0

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

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

相关文章

【dig命令查询方法】

dig(Domain Information Groper)是一个用于查询DNS(域名系统)的命令行工具,它可以帮助您获取关于域名的各种信息,如IP地址、MX记录、NS记录等。下面是dig的详细使用教程。 基本语法: dig [ser…

文件被删除了怎么恢复?3个宝藏方法,快来get!

“我是一个学生党,期末的一些资料保存在电脑上,但是不知道是不是被我误删了,导致很多文件都找不到了。文件被删除了怎么恢复呢?大家帮我出出主意吧!” 对于经常在电脑上保存各种文件的用户来说,文件误删除是…

狂神java学习笔记——网络编程

IP ip地址: 在计算机网络中,唯一确定一台计算机127.0.0.1:本机回环地址 ip地址的分类(IPV4): 分为A类、B类、C类地址,其区别在于A、B、C类子网的个数和所包含的地址个数不同。局域网网段10.0.0.0&#…

IPC之五:使用 System V 信号量集解决经典的‘哲学家就餐问题‘

IPC 是 Linux 编程中一个重要的概念,IPC 有多种方式,本文主要介绍信号量集(Semaphore Sets),尽管信号量集被认为是 IPC 的一种方式,但实际上通常把信号量集用于进程间同步或者资源访问互斥,信号量集和共享内存(Shared …

ABAP 选择屏幕创建按钮,并执行

1.在选择屏幕上声明按钮2.在 INITIALIZATION 中定义按钮的文本和图标3.在AT SELECTION-SCREEN 模块中响应按钮 *&---------------------------------------------------------------------* *& Report ZTEST_CESHI *&------------------------------------------…

系列学习前端之第 2 章:一文精通 HTML

全套学习 HTMLCSSJavaScript 代码和笔记请下载网盘的资料: 链接: https://pan.baidu.com/s/1-vY2anBdrsBSwDZfALZ6FQ 提取码: 6666 HTML 全称:HyperText Markup Language(超文本标记语言) 1、 HTML 标签 1. 标签又称元素&#…

PR剪辑视频素材|真实胶片特效转场PR项目模板文件

Premiere转场模板,8个真实胶片特效转场PR项目模板视频素材。可以编辑和自定义媒体占位符。在视频的开头、中间和结尾使用。包含视频教程。 适用软件:PR2023及更新版本 | 分辨率:38402160 (4K) | 文件大小:16.43MB | 无需插件 来自…

AI并行计算:CUDA和ROCm

1 介绍 1.1 CUDA CUDA(Compute Unified Device Architecture)是Nvidia于2006年推出的一套通用并行计算架构,旨在解决在GPU上的并行计算问题。其易用性和便捷性能够方便开发者方便的进行GPU编程,充分利用GPU的并行能力&#xff0…

如何使用ArcGIS Pro制作类似CAD的尺寸注记

经常使用CAD制图的朋友应该比较熟悉CAD内的尺寸标注,这样的标注看起来直观且简洁,那么在ArcGIS Pro内能不能制作这样尺寸注记呢,答案是肯定的,这里为大家介绍一下制作的方法,希望能对你有所帮助。 数据来源 本教程所…

当前流行技术栈一览列表

每项任务的最佳技术: Web api:NextJS(Spring Boot 紧随其后)SQL 数据库:PostgresPostgresNoSQL 数据库:DynamoDB图数据库:Neo4j前端网页:React前端移动:React Native&am…

OpenGL ES 帧缓冲对象介绍和使用示例

一、介绍 1. 帧缓冲对象 默认情况下,OpenGL渲染的目标是屏幕,但如果你不想直接渲染到屏幕上,还需要对渲染结果做某些后期处理、渲染到纹理、阴影映射等操作,便可以使用帧缓冲对象,实现离屏渲染。 帧缓冲对象&#x…

JSON字符串转泛型对象

JSON字符串转泛型对象 以下问题只仅限于博主自身遇到&#xff0c;不代表绝对出现问题 相关类展示&#xff1a; 参数基类 public class BaseParams { }基类 public abstract class AbstractPush<Params extends BaseParams> {protected abstract void execute(Params…

Java -jar参数详解

java -jar 命令用于执行打包成可执行 JAR 文件的 Java 应用程序。在运行时&#xff0c;你可以通过命令行传递参数给这个应用程序。 1. -jar 参数&#xff1a; 说明&#xff1a; 指定要执行的 JAR 文件。示例&#xff1a;java -jar your-application.jar 2. -D 参数&#xff…

怎么选护眼灯?考公必备护眼灯推荐

随着现在的近视问题受到越来越广泛的关注&#xff0c;各种护眼产品的需求量也一直在快速增加&#xff0c;其中最受广大家长、学生党欢迎的还是护眼台灯。因为专业的护眼台灯不仅可以补充我们夜晚工作、学习时不足的光亮&#xff0c;避免眼睛长时间处于昏暗的环境导致疲劳。 而…

018 OpenCV 人脸检测

目录 一、环境 二、分类器原理 2.1、概述 2.2、工作原理 三、人脸检测代码 一、环境 本文使用环境为&#xff1a; Windows10Python 3.9.17opencv-python 4.8.0.74 二、分类器原理 CascadeClassifier是OpenCV&#xff08;开源计算机视觉库&#xff09;中的一个强大的类…

day01十五模拟第二期

2 2——608#include <stdio.h> #include <math.h>int main(int argc, const char * argv[]) {int res1;for(int i1;i<2023;i){res(res*2)%1000;}printf("%d",res );return 0; }3 4-----4169 #include <stdio.h> #include<string.h> #inc…

C语言——指针(五)

&#x1f4dd;前言&#xff1a; 上篇文章C语言——指针&#xff08;四&#xff09;更加深入的介绍了不同类型指针的特点&#xff0c;这篇文章主要想记录一下函数与指针的结合运用以及const和assert关于指针的用法&#xff1a; 1&#xff0c;函数与指针 2&#xff0c;const 3&am…

3.PyTorch——常用神经网络层

import numpy as np import pandas as pd import torch as t from PIL import Image from torchvision.transforms import ToTensor, ToPILImaget.__version__2.1.13.1 图像相关层 图像相关层主要包括卷积层&#xff08;Conv&#xff09;、池化层&#xff08;Pool&#xff09;…

车联网通信安全之DDS

前面笔者写过一篇文章简单介绍了下工业级通信协议DDS&#xff0c;DDS在车联网领域特别是智能驾驶领域也有着十分广泛的应用&#xff0c;如&#xff1a; 1. 车辆实时数据传输 DDS可以用于车辆之间和车辆与云端之间的实时数据传输&#xff0c;包括车辆状态、传感器数据、位置信息…

node.js和浏览器之间的区别

node.js是什么 Node.js是一种基于Chrome V8引擎的JavaScript运行环境&#xff0c;可以在服务器端运行JavaScript代码 Node.js 在浏览器之外运行 V8 JavaScript 引擎。 这使得 Node.js 非常高效。 浏览器如何运行js代码 nodejs运行环境 在浏览器中&#xff0c;大部分时间你所…