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

用jsp做的二手交易网站爱站网关键词排名

用jsp做的二手交易网站,爱站网关键词排名,涟源seo快速排名,枣庄建网站的公司复写零OJ链接:1089. 复写零 - 力扣(LeetCode) 题目: 解法(原地复写-双指针): 算法思路: 如果「从前向后」进⾏原地复写操作的话,由于 0 的出现会复写两次,导致…

复写零OJ链接:1089. 复写零 - 力扣(LeetCode)

 

题目:


 

解法(原地复写-双指针):
算法思路:
如果「从前向后」进⾏原地复写操作的话,由于 0 的出现会复写两次,导致没有复写的数「被覆
盖掉」。因此我们选择「从后往前」的复写策略。
但是「从后向前」复写的时候,我们需要找到「最后⼀个复写的数」,因此我们的大体流程分两
步:
i. 先找到最后⼀个复写的数;
ii. 然后从后向前进行复写操作。
算法流程:
a. 初始化两个指针 cur = 0 , dest = 0 ;
b. 找到最后⼀个复写的数:
i. 当 cur < n 的时候,一直执行下面循环:
• 判断 cur 位置的元素:
◦ 如果是 0 的话, dest 往后移动两位;
◦ 否则, dest 往后移动一位。
• 判断 dest 时候已经到结束位置,如果结束就终止循环;
• 如果没有结束, cur++ ,继续判断。
c. 判断 dest 是否越界到 n 的位置:
i. 如果越界,执行下面三步:
1. n - 1 位置的值修改成 0 ;
2. cur 向移动⼀步;
3. dest 向前移动两步。
d. 从 cur 位置开始往前遍历原数组,依次还原出复写后的结果数组:
i. 判断 cur 位置的值:
1. 如果是 0 : dest 以及 dest - 1 位置修改成 0 , dest -= 2 ;
2. 如果非零: dest 位置修改成 0 , dest -= 1 ;
ii. cur-- ,复写下一个位置。

 

C++: 

class Solution {
public:void duplicateZeros(vector<int>& arr){// 1. 先找到最后⼀个数int cur = 0, dest = -1, n = arr.size();while (cur < n){if (arr[cur]) dest++;else dest += 2;if (dest >= n - 1) break;cur++;}// 2. 处理⼀下边界情况if (dest == n){arr[n - 1] = 0;cur--; dest -= 2;}// 3. 从后向前完成复写操作while (cur >= 0){if (arr[cur]) arr[dest--] = arr[cur--];else{arr[dest--] = 0;arr[dest--] = 0;cur--;}}}
};

运行结果:

 

PS:看到这里了,码字不易,给个一键三连鼓励一下吧!有不足或者错误之处欢迎在评论区指出! 

http://www.fp688.cn/news/158473.html

相关文章:

  • 一个网站锚文本可以做几个软文营销案例文章
  • 常州新北区建设局网站网络营销费用预算
  • 做外贸必须用的社交网站seo是什么意思电商
  • laravel 网站开发公司域名注册查询
  • 如何建设网站和app百度查重软件
  • 网站首页效果图怎么做三只松鼠营销案例分析
  • 那个网站做代买谷歌手机版浏览器官网
  • 公司外宣网站什么是百度竞价推广
  • 北京公司响应式网站建设价位磁力蜘蛛
  • 不懂技术与产品怎样做网站站长seo软件
  • 做flash的网站百度app下载链接
  • 杭州一起做网站电商培训视频教程
  • 用DW做的网站怎么分享给别人优化大师官网下载安装
  • 公司做的网站费用计入什么科目色盲怎么治疗
  • 北京专业做网站的公司提交链接
  • 网上赚钱论坛我赢seo
  • 图片素材网站哪个最多四年级小新闻50字左右
  • 用花生棒自己做内网网站小红书推广引流
  • html做的旅游网站搜索引擎排名优化方案
  • 网站代备案查收录
  • 做建筑钢材的b2b网站有哪些今天最新新闻报道
  • 建设网站的申请怎么在百度投放广告
  • 福州seo结算南昌做seo的公司有哪些
  • 网站网址黄页大全免费河南网站排名优化
  • 如何验证网站所有权品牌维护
  • 网站建设企业蛋糕对网络营销的认识800字
  • 网站建设方案模板长尾关键词挖掘精灵
  • 音乐盒的网站怎么做优化器
  • wordpress template hierarchy广西壮族自治区在线seo关键词排名优化
  • 那个网站是做批发的接外包项目的网站