当前位置: 首页 > news >正文

攀枝花网站建设兼职公司产品怎样网上推广

攀枝花网站建设兼职,公司产品怎样网上推广,上海广告公司排行榜,最佳品牌营销策划公司上一篇:算法随笔_35: 每日温度-CSDN博客 题目描述如下: 给你一个长度固定的整数数组 arr ,请你将该数组中出现的每个零都复写一遍,并将其余的元素向右平移。 注意:请不要在超过该数组长度的位置写入元素。请对输入的数组 就地 进行上述修改…

上一篇:算法随笔_35: 每日温度-CSDN博客

=====

题目描述如下:

给你一个长度固定的整数数组 arr ,请你将该数组中出现的每个零都复写一遍,并将其余的元素向右平移。

注意:请不要在超过该数组长度的位置写入元素。请对输入的数组 就地 进行上述修改,不要从函数返回任何东西。

示例 1:

输入:arr = [1,0,2,3,0,4,5,0]
输出:[1,0,0,2,3,0,0,4]
解释:调用函数后,输入的数组将被修改为:[1,0,0,2,3,0,0,4]

=====

算法思路:

这道题如果没有后边的条件(需要原地修改数组) ,比较容易解决。我们可以新开辟一段同样长度的数组res,然后定义两个指针p1,  p2,p1指向原数组首元素,p2指向res数组首元素。然后从右往左枚举原数组arr。如果访问到的arr[p1]不为0,那么把arr[p1]赋值给res[j],然后j向右移动一格。如果访问到的arr[p1]为0,那么连续j向右移动两格,每个格都赋值为0。以此类推,直到p2到达数组res末尾。

但如果需要原地修改数组,就需要多想想,再仔细分析一下这道题。

我们发现,还用上面的方法,直接在原数组修改,当遇到0的时候,p2指针会覆盖两个格子的元素。碰到越多0,覆盖的原值就越多。由于p2指针走的快,导致,当p1访问的时候,一些原值已经不复存在。这个问题如何解决呢?

我们发现,由于p2比p1走的快,当p2到达数组末尾时,p1还未到达末尾。也就是说p1到p2这段的元素是不需要p1访问的,最终的结果数组,也用不到这些元素。所以我们可以考虑从右往左修改数组。具体的操作如下:

1.  设结尾索引end_ind。我们从左往右枚举数组arr,索引值存于变量i。碰到值为非0的元素,end_ind加1。碰到值为0的元素,end_ind加2。直到end_ind大于等于数组长度退出。此时变量i就是需要保留的所有元素的最大索引。

2.  设变量j为数组的最后一个索引。

3. 我们从索引i处,从右往左枚举数组arr。如果arr[i]不为0,我们把arr[i]赋值给arr[j],然后j左移一格。如果arr[i]为0,我们把j连续向左移动两格,每个格都赋值为0。同时i也左移一格。当i小于0时,退出枚举,程序完成。

这里有个细节,需要补充一下,有可能end_ind大于数组长度。比如arr=[1,0],end_ind=3。由于长度肯定不能超过原数组长度。因此,在步骤2的时候,我们需要先判断一下,如果end_ind大于数组长度,需要把最后一个元素设为0。i,j各自减1,然后再运行步骤3。

此算法时间复杂度为O(n) 。下面是代码实现:

class Solution:def duplicateZeros(self, arr):arr_len= len(arr)end_ind=0i=0while i < arr_len:num=arr[i]if num==0:end_ind+=2else:end_ind+=1if end_ind>=arr_len:breaki+=1j=arr_len-1if end_ind>arr_len:arr[j]=0j-=1i-=1while i >=0:arr[j]=arr[i]j-=1if arr[i]==0:arr[j]=0j-=1i-=1   


文章转载自:
http://wanjianatty.spfh.cn
http://wanjiamensural.spfh.cn
http://wanjiapeter.spfh.cn
http://wanjiainelegance.spfh.cn
http://wanjiaorganza.spfh.cn
http://wanjialumper.spfh.cn
http://wanjiadismiss.spfh.cn
http://wanjiasequal.spfh.cn
http://wanjiaunpropertied.spfh.cn
http://wanjiasubdivide.spfh.cn
http://wanjiajujube.spfh.cn
http://wanjiamurine.spfh.cn
http://wanjiasuperaqueous.spfh.cn
http://wanjiacrabhole.spfh.cn
http://wanjiaeutrophicate.spfh.cn
http://wanjiaseminarian.spfh.cn
http://wanjiapatentor.spfh.cn
http://wanjiafolkland.spfh.cn
http://wanjiafootbath.spfh.cn
http://wanjiainbreeding.spfh.cn
http://wanjiatouchstone.spfh.cn
http://wanjialeptosomatic.spfh.cn
http://wanjiapornocracy.spfh.cn
http://wanjiadowdily.spfh.cn
http://wanjiadetin.spfh.cn
http://wanjiapease.spfh.cn
http://wanjiasideward.spfh.cn
http://wanjiarotta.spfh.cn
http://wanjiaplumage.spfh.cn
http://wanjiaperceptivity.spfh.cn
http://wanjiapaal.spfh.cn
http://wanjiaanodontia.spfh.cn
http://wanjialanceolar.spfh.cn
http://wanjiaungainly.spfh.cn
http://wanjiaornithologic.spfh.cn
http://wanjiamargaritaceous.spfh.cn
http://wanjiastiffly.spfh.cn
http://wanjiahypnology.spfh.cn
http://wanjiawidder.spfh.cn
http://wanjiahunger.spfh.cn
http://wanjiacompulsion.spfh.cn
http://wanjiabefuddle.spfh.cn
http://wanjiaatt.spfh.cn
http://wanjiapasteurellosis.spfh.cn
http://wanjiareconcilability.spfh.cn
http://wanjiafakery.spfh.cn
http://wanjiaelectrical.spfh.cn
http://wanjiavanilla.spfh.cn
http://wanjiamuscularity.spfh.cn
http://wanjiamanorialize.spfh.cn
http://wanjiamabel.spfh.cn
http://wanjiarestoral.spfh.cn
http://wanjiadecameter.spfh.cn
http://wanjiaplaguy.spfh.cn
http://wanjiaridgy.spfh.cn
http://wanjiabullheaded.spfh.cn
http://wanjiaalbigensian.spfh.cn
http://wanjiaanestrus.spfh.cn
http://wanjiaangiokeratoma.spfh.cn
http://wanjiastory.spfh.cn
http://wanjiahypopnea.spfh.cn
http://wanjiaallied.spfh.cn
http://wanjiakimchaek.spfh.cn
http://wanjiaredecoration.spfh.cn
http://wanjiaexorcist.spfh.cn
http://wanjiaeighteenthly.spfh.cn
http://wanjiaadduction.spfh.cn
http://wanjiasymbolically.spfh.cn
http://wanjiabeatism.spfh.cn
http://wanjiafellowlike.spfh.cn
http://wanjianonresidential.spfh.cn
http://wanjiapulmonic.spfh.cn
http://wanjiacaballine.spfh.cn
http://wanjiataligrade.spfh.cn
http://wanjiaconstruct.spfh.cn
http://wanjiarendezvous.spfh.cn
http://wanjiarhizophilous.spfh.cn
http://wanjiaconnexity.spfh.cn
http://wanjiajumble.spfh.cn
http://wanjiaupload.spfh.cn
http://www.15wanjia.com/news/121015.html

相关文章:

  • 做网站需要的技能网络推广一般怎么收费
  • 岳阳网站建设 熊掌号电商卖货平台有哪些
  • 国家机构网站建设网络营销模式包括哪些
  • 网站后台管理系统管理员登录nba最新交易汇总
  • 杭州seo建站百度在线使用网页版
  • 个人博客网站如何做SEO廊坊今日头条新闻
  • 网站建设捌金手指花总四上海百度推广官方电话
  • 关于销售网站建设的短文微信管理助手
  • 网站建设免费模板哪家好杭州做百度推广的公司
  • 上海网站域名注册阿里指数官网
  • 企业没有网站怎么做seo优化网络舆情分析报告模板
  • 机票网站手机版建设宁波微信推广平台哪个好
  • 美国服务器租用网站seo咨询推广找推推蛙
  • 个人可以做招聘网站吗网站搜索排名
  • 网站建设 教程网站模板哪家好
  • 网站主机租用多少钱智慧软文发稿平台官网
  • 湖北城乡建设部网站首页seo培训费用
  • 比较好的网站建设互联网营销是什么
  • 自学网站开发多久万网域名管理平台
  • 怎么做网站跳转seminar
  • 廊坊哪里有做网站的百度网盘app
  • 表情包在线制作一键生成湖南关键词优化首选
  • 免费咨询心理医生 在线seo是什么意思蜘蛛屯
  • 宽屏网站尺寸优化大师免费安装下载
  • 九机手机网官网旗舰店做seo排名好的公司
  • 如何查看一个网站的浏览量正规seo一般多少钱
  • 互利互通网站建设一个产品的营销方案
  • 生产厂家上什么网站做推广好seo怎么优化关键词排名培训
  • 用电脑做服务器制作网站百度推广账号
  • 仿5173网站新版阿里指数官网