网站模版 模板wordpress 媒体库 分类

张小明 2026/1/1 10:52:02
网站模版 模板,wordpress 媒体库 分类,长沙推广引流,公司介绍文案一、方法一#xff1a;把nums当作栈。用一个栈记录非零元素。1.思路#xff1a;#xff08;1#xff09;以示例1为例#xff0c;nums [0,1,0,3,12]#xff0c;判断过程如下表所示。#xff08;2#xff09;最后#xff0c;再在栈的末尾添加两个零#xff0c;即为答案…一、方法一把nums当作栈。用一个栈记录非零元素。1.思路1以示例1为例nums [0,1,0,3,12]判断过程如下表所示。2最后再在栈的末尾添加两个零即为答案[1,3,12,0,0]。3为了做到O(1)的空间复杂度可以直接把nums当作栈用一个变量StackSize表示栈的大小初始值为0。4入栈就是把nums[StackSize]置为nums[i]同时把StackSize加1。5最后把nums中的下标从StackSize到n - 1的数都置为0。2.复杂度分析1时间复杂度O(n)其中n是nums的长度。2空间复杂度O(1)。附代码class Solution { public void moveZeroes(int[] nums) { int stackSize 0; for(int x : nums){ if(x ! 0){ //先赋值再加1 nums[stackSize] x; } } //Arrays.fill是前闭后开区间 //从索引stackSize开始包含到索引nums.length结束不包含将元素置为0 Arrays.fill(nums,stackSize,nums.length,0); } }二、方法二双指针 交换元素。1.优势方法一在最坏的情况下nums全为0需要遍历nums两次而本方法只需要一次遍历。2.核心思路1把0视作空位把所有非0元素移动到数组左边的空位上并保证非0元素的顺序不变。2举例如nums [0,0,1,2]把1放到最左边的空位上数组就变成了[1,0,0,2]。注意1移动过去后在原来1的位置又产生了一个新的空位。也就是说交换了nums[0] 0和nums[2] 1这两个数。3为了保证非0元素的顺序不变需要维护最左边的空位的位置即下标。3.具体思路1从左到右遍历nums[i]。2同时维护另一个下标i0初始值为0并保证下标区间[i0,i - 1]都是空位且i0指向最左边的空位。3每次遇到nums[i] ! 0的情况就把nums[i]移动到最左边的空位上也就是交换nums[i]和nums[i0]。交换后把i0和i都加1从而使【[i0,i - 1]都是空位】这一性质仍然成立。4如果nums[i] 0无需交换只把i加1。4.举例示例1的nums [0,1,0,3,12]计算过程如下所示下划线表示交换的两个数5.由于每次操作后[i0,i - 1]对应的元素值全为0这一性质始终成立所以nums遍历结束后i n[i0,n - 1]对应的元素值全为0且[0i0 - 1]都是交换过去的非0元素这样就满足了题目“将所有的0移动到数组的末尾”的要求。6.复杂度分析1时间复杂度O(n)其中n是nums的长度。2空间复杂度O(1)。附代码class Solution { public void moveZeroes(int[] nums) { int i0 0; for(int i 0;i nums.length;i){ //i用来找第一个非0元素并与i0交换位置 //如果i指向的元素为0i继续向后找 //如果i指向的元素非0i指向的元素就会和i0交换然后i0,因此i0左边的元素都是非0元素 //i0指向下一个非0元素应该存放的位置i0左边的元素都是已经整理好的非0元素i0和i之间的元素都是0 if(nums[i] ! 0){ //交换nums[i]和nums[i0] int tmp nums[i]; nums[i] nums[i0]; nums[i0] tmp; i0; } } } }
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

国外网站服务器php 网站提速

医疗设备研发软件合规:协议解析引擎应对FDA 510(k)认证在当前全球医疗器械研发快速发展的背景下,FDA 510(k) 成为众多企业进入美国市场的重要门槛。对于负责医疗设备软件开发的企业协议解析引擎的设计和实现不仅关乎产品性能,更直接影响到FDA…

张小明 2025/12/31 16:59:14 网站建设

国家城乡与建设部网站ipfs做网站

編譯器看到你的 C 類型時,它在嘲笑你當你寫下那行看似完美的 C 程式碼時,你是否曾感受到一道冷冽的目光從螢幕深處射來?那是編譯器的凝視。它翻開你的類型聲明,瞥見那些模板特化和繼承層次,嘴角揚起一抹幾乎難以察覺的…

张小明 2025/12/22 18:44:38 网站建设

电脑网站设计页面网页文件打印乱码

引言 在过去的几年里,人工智能(AI)已经从科幻概念迅速演变为 IT 行业的核心驱动力。2025 年,我们看到 AI 不再是锦上添花的功能,而是深度融入开发、运维、安全、数据等几乎所有领域的底层技术。AI 的广泛应用正在重塑 IT 从业者的日常工作,既带来了效率的飞跃,也改变了…

张小明 2025/12/22 18:42:34 网站建设

国际外贸网站想建设网站

目录具体实现截图项目介绍论文大纲核心代码部分展示项目运行指导结论源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作具体实现截图 本系统(程序源码数据库调试部署讲解)同时还支持java、ThinkPHP、Node.js、Spring B…

张小明 2025/12/22 18:41:33 网站建设

长沙外贸建站百度热搜关键词排行榜

面对满屏幕的文档、文献和草稿,一位青年学者偶然发现,书匠策AI提供的不仅是写作工具,更是一个打破传统壁垒的沉浸式学术创作环境。深夜两点,实验室的灯光依然明亮,屏幕上堆积着十几个打开的窗口——文献PDF、论文草稿、…

张小明 2025/12/22 18:40:32 网站建设