Leecode刷题 把数组中的0移动到数组的尾部,其余数字保持之前的相对位置不变

2023-05-16

talk is cheap ,show me your code! 

 c++解法:

思路:两个指针 i 和 j,一个快,一个慢。快指针i读取到非0值,就传到j指针指向的地方。这样i指针跑到结尾时,j就存完了最后一个非零的数了。然后把指针 j 以后的所有数字全部变为0就可以实现啦。

#include <iostream>

using namespace std;

int main() {
	
	int arr[]={0,3,0,5,0,23,45,0,66};
	int j = 0, len = 0;
	len=sizeof(arr)/sizeof(int);
	cout<<"len: "<<len<<endl;
	for(int i=0;i<len; i++)
	{
		cout<<arr[i]<<",";
	}
	cout<<endl;
	
	for(int i=0;i<len; i++)
	{	
	   if(arr[i] != 0)
	   {
	       arr[j++]= arr[i]; 
	   }
	}
	while(j<len)
	{
	   arr[j++] = 0;
	   
	}	
	
	for(int i=0;i<len; i++)//
	{
		cout<<arr[i]<<",";
	}
	cout<<endl;
	return 0;
}

运行结果:

len: 9

0,3,0,5,0,23,45,0,66,

3,5,23,45,66,0,0,0,0,

 

Python的解法:

# encoding: utf-8

if __name__ == "__main__":
	
	l ,r,n=0,0,len(nums)
	while r < n:
		if nums[r] != 0 :
			nums[l] = nums[r]
			l += 1
		r +=1
	while l <n:
		nums[l] = 0
		l += 1

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Leecode刷题 把数组中的0移动到数组的尾部,其余数字保持之前的相对位置不变 的相关文章

  • python 入门 第三讲 读取中文分析

    统计中文词语出现的次数 以政府一号文件为例 xff0c 统计出现的中文词语数量按照一定标准输出 xff0c 如出现次数等需要解决中文分词问题 xff0c 如 xff1a 这是一门好课 gt 这是 一门 好课 输入 xff1a 2018年一号
  • docker命令

    1 docker version docker version 显示 Docker 版本信息 docker version 例如 xff1a span class token comment docker version span Clie
  • python 入门 第四讲 基本数据类型

    python主要包括9中基本数据类型 数值类型 xff1a 整数 浮点数 复数字节类型 xff1a 字符串 字节串组合类型 xff1a 集合 元祖 列表 字典 为什么会出现不确定尾数 xff1f 计算机 不确定尾数问题来源于浮点数在计算机中
  • Linux - Shell - 在多个文件中查找关键字

    https www cnblogs com xy14 p 11735343 html 1 概述 在多个文件中 查找内容 2 想干啥 目的 在 多个文件 中 查找内容准备 之前在 单个文件里 查找过内容 工具 awk 前提 文件有固定格式查找
  • protobuf repeated数组类型的使用

    http www cppblog com API archive 2014 12 09 209070 aspx protobuf是Google开发的一个序列化框架 xff0c 类似XML xff0c JSON xff0c 基于二进制 xff
  • 分治法,迭代与动态规划及贪心算法感悟

    分治法 xff0c 动态规划法 xff0c 贪心算法这三者之间有类似之处 xff0c 比如都需要将问题划分为一个个子问题 xff0c 然后通过解决这些子问题来解决最终问题 但其实这三者之间的区别还是蛮大的 1 分治法 分治法 xff08 d
  • Python字符串操作大全

    Python中字符串的定义 xff1a 由Unicode码点组成的不可变序列 xff08 Strings are immutable sequences of Unicode code points xff09 Python内置函数提供了强
  • python 入门第五讲 分支与循环

    for i in range 1 15 print i 1 2 3 4 5 6 7 8 9 10 11 12 13 14 从M开始 xff0c 到N结束 xff0c K为步长 for c in 34 hello 34 print c end
  • python 入门第六讲 异常处理

    1 异常的基本用法 2 异常的高级用法 ZeroDivisionError TypeError def foo a try b 43 61 100 a except ZeroDivisionError print 34 can not di
  • python 入门第1七讲 函数的定义与使用

    单元开篇 xff1a 函数定义和使用 1 函数的定义和调用 2 函数的参数传递 3 局部变量和全局变量 4 lambda函数 xff08 匿名函数 xff09 5 函数递归 函数相关的保留字 def 声明函数 return global x
  • python 入门第八讲 组合数据类型基础

    集合类型 xff1a 一组数据的集合 集合的特性 xff1a 无序 xff1a 元素间没有顺序 xff0c 因此要求元素不能相同 xff0c 元素必须是不可变类型 非一致 xff1a 元素类型可以不一样 无索引 xff1a 不能对某个元素进
  • python 入门第九讲 组合数据类型运算函数及方法(非常重要)

    目录 单元开篇 xff08 组合数据类型使用方法 xff09 我是美丽的分割线 我是美丽的分割线 单元开篇 xff08 组合数据类型使用方法 xff09 集合类型的使用 1 2 3 元祖类型的使用 xff08 xff09 列表类型的使用 字
  • ROS学习日志:话题的方式统一控制5台机器人

    在gazebo环境中搭建一个尽量美观的场景 启动5台 turtlebot3 机器人 xff0c 以话题的方式统一控制5台机器人的运动速度 xff08 1 xff09 原有文件基础上添加多个机器人 xff08 2 xff09 统一话题控制五个
  • Ubuntu20.04 ROS读取basler相机图像步骤。MATLAB2021b标定basler单目相机

    运行环境 xff1a Ubuntu20 04 xff08 64 Bit xff09 ROS版本 xff1a Noetic 网卡型号 xff1a Realtek RTL 8156外置网卡 相机型号 xff1a acA 1920 25gc xf
  • 人工智能该如何学习

    看了一个小视屏 xff0c 做的一个笔记 人工智能专业选择 兴趣驱动 xff0c 不要盲目跟风 xff01 1 需要数学基础 微积分 线性代数 概率论和数理统计 2 一门合适的语言 xff0c 推荐python 3 学习算法的几个层次 看懂
  • C++ 中的深拷贝与浅拷贝

    https www cnblogs com cxq0017 p 10617313 html
  • python 入门 第十讲 文本数据清洗及统计

    程序需求 xff1a 文本类信息清洗及统计的可能需求场景 从多个来源获得的格式不一的文本类型数据进行汇总及初步统计难点 xff1a 多个来源数据的清洗 格式化及归一化 相同内容去重等 大学MOOC之问 xff1a 在中国参与MOOC 建设的
  • python入门 第11讲 文件的操作及使用

    文件是数据的抽象和集合 文本方式和二进制方式是文件的两种不同展示方式文本方式采用统一的编码解释文件 xff0c 二进制方式采用字节解释文件Python语言的文件使用理念与其他语言一致 xff0c 如c语言 文件的打开 xff1a 文件路径
  • python入门 第12讲 一二维数据格式化

    数据组织的维度 xff1a 维度 xff1a 一组数据的组织形式 数据的维度 数据的操作周期 xff1a 一维数据的两种表示方式 xff1a 亿微数据的存储 xff08 哪种好 xff1f xff09 存储于表示之间的关系 xff1a 一维
  • python入门 第13讲 再看Python计算生态

    标准库与第三方库 第三方库主站PYPI

随机推荐