当前位置:网站首页>Mobile Zero of Likou Brush Questions
Mobile Zero of Likou Brush Questions
2022-08-01 19:06:00 【Lanzhou Qianfan】
The mobile zero of the force button brush question
This is the number one in the quiz283题.
题目
给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序.
请注意 ,必须在不复制数组的情况下原地对数组进行操作.

The question asks to move the zeros in the array to the back of the array.And can only operate on the original array,不可以复制,You cannot shuffle the order of the original array elements.
So for the movement of the elements,If the brain rotation is not very smart,It is recommended to draw a picture yourself to try it out,See how to move.
You see how these scrambled zeros move to the back

Move zero to the back,Then you need to move the non-zero elements to the front.
一种想法,我们可以用两个指针,Then start to initialize the head of the array pointing to the same time.
And how to move it?The yellow pointer starts to move,移动到3,它不是零,We replace it with the white one0的值.
继续,到这里的时候,Our yellow pointer points to zero,We certainly don't move forward zero.
There is no movement here,Do not move the white pointer,The yellow ones continue to move.
移动到4的时候,Then the number at the yellow point replaces the value at the white execution.
然后两个指针继续移动,The value at the yellow pointer now replaces the value at the white pointer again,The yellow pointer reaches the end
Then we continue to move the white pointer to the end point,and assigns the value at the following index0.
This moves it.
We write code according to this logic
class Solution {
public void moveZeroes(int[] nums) {
int pre01 =0;
for (int pre02 = 0; pre02 < nums.length; pre02++) {
if (nums[pre02]!=0)
{
nums[pre01++]=nums[pre02];
}
}
for (int i = pre01; i < nums.length; i++) {
nums[i]=0;
}
}
}

还有一种方法,There is a difference in thinking.This time we initialize two pointers.
Only this time around,我们是这样做的.

We exchange directly when comparing.
然后移动,Both are zeros here,不交换.yellow move,White unchanged
Swap next
继续
Compare carefully,There is a difference between the two methods.Our exchange patterns are different,The position to which the pointer moves is different.
来看代码实现.
int pre01 =0;
for (int pre02 = 0; pre02 < nums.length; pre02++) {
if(nums[pre01]==0&&nums[pre02]!=0)
{
int n= nums[pre02];
nums[pre02]=nums[pre01];
nums[pre01++] =n;
}
else if (nums[pre01]!=0)
{
pre01++;
}
}
This execution efficiency is not as high as our above method,But the last one seems to be more like a loophole.
边栏推荐
- MLX90640 红外热成像仪测温模块开发笔记(完整篇)
- 屏:全贴合工艺之GFF、OGS、Oncell、Incell
- 哈哈!一个 print 函数,还挺会玩啊!
- AntDB database appeared in the 24th high-speed exhibition, helping smart high-speed innovative applications
- vtk体绘制代码报错的解决办法(代码在vtk7,8,9中都能运行),以及VTK数据集网站
- 消息模板占位符的使用
- 123123123123
- LeetCode 0151.颠倒字符串中的单词
- SaaS管理系统的应用优势在哪里?如何高效提升食品制造业数智化发展水平?
- Multi-Party Threshold Private Set Intersection with Sublinear Communication-2021:解读
猜你喜欢
随机推荐
How to query database configuration parameters in GBase 8c, such as datestyle.What function or syntax to use?
安装GBase 8c数据库的时候,报错显示“Resource:gbase8c already in use”,这怎么处理呢?
Multi-Party Threshold Private Set Intersection with Sublinear Communication-2021: Interpretation
【神经网络】一文带你轻松解析神经网络(附实例恶搞女友)
Try compiling QT test on Allwinner V853 development board
DAO development tutorial [WEB3.0]
Tencent Cloud Hosting Security x Lightweight Application Server | Powerful Joint Hosting Security Pratt & Whitney Version Released
Redis的内存淘汰策略和过期删除策略的区别是什么
【LeetCode】Day109-the longest palindrome string
GBase 8c中怎么查询数据库配置参数,例如datestyle。使用什么函数或者语法呢?
屏:全贴合工艺之GFF、OGS、Oncell、Incell
【蓝桥杯选拔赛真题47】Scratch潜艇游戏 少儿编程scratch蓝桥杯选拔赛真题讲解
What are the application advantages of SaaS management system?How to efficiently improve the digital and intelligent development level of food manufacturing industry?
开源视界 | StreamNative 盛宇帆:和浪漫的人一起做最浪漫的事
Use of message template placeholders
To drive efficient upstream and downstream collaboration, how can cross-border B2B e-commerce platforms release the core value of the LED industry supply chain?
No need to crack, install Visual Studio 2013 Community Edition on the official website
MySQL数据库————流程控制
TestNG多个xml进行自动化测试
暑假第一周总结博客








