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

苏州街网站建设我想找个做代理的网站

苏州街网站建设,我想找个做代理的网站,网站安全架构,不用服务器做视频网站目录 283.移动零 一、题目描述 二、思路解析 三、代码 1089.复写零 一、题目描述 二、思路解析 三、代码 202.快乐数 一、题目描述 二、思路解析 三、代码 11.盛水最多的容器 一、题目描述 二、思路解析 三、代码 283.移动零 一、题目描述 OJ题目链接#xf…目录 283.移动零 一、题目描述 二、思路解析 三、代码 1089.复写零 一、题目描述 二、思路解析 三、代码 202.快乐数 一、题目描述 二、思路解析 三、代码 11.盛水最多的容器 一、题目描述 二、思路解析 三、代码 283.移动零 一、题目描述 OJ题目链接力扣LeetCode 二、思路解析 这是将数组分成两部分的题目当我们遇到把数组分成若干部分的题目时首先要想到的是双指针在之前的学习中我对对撞指针的题目做的比较多但是这题如果我们使用对撞指针就无法满足“保持非零元素的相对顺序”这一条件所以我们就考虑到了快慢指针。 我们想定义两个指针 cur 和 dest 让 cur 遍历整个数组 dest 则指向已处理数组的最后一个元素根据题目要求我们可以画出如下原理图 当我们的cur遍历完整个数组最后一部分就没有数了也就已经解决问题了。 但是我们要注意因为 dest 指向已处理部分的最后一个元素所以 dest 是非零的交换时使用的是 dest 三、代码 class Solution { public:void moveZeroes(vectorint nums) {int cur 0;int dest -1;for(; cur nums.size(); cur){if(nums[cur] ! 0) //可以简写为if(nums[cur]){dest;swap(nums[dest], nums[cur]);}}} }; 1089.复写零 一、题目描述 OJ题目链接力扣LeetCode 二、思路解析 首先我考虑的还是快慢指针从前向后遍历数组元素可是我们要移动元素就必然会产生元素的覆盖 我还企图用三个指针来记录要被覆盖的值可是当上手后会发现这好像一个巨大的递归当我记录了当前要被覆盖的值我们的下一个值又被覆盖了 看来从前向后是行不通的那我们只能从后向前再继续尝试但是又有一个难题因为数组长度一直是不变的所以我们要得知结果数组的最后一个数是谁 这就又要用到快慢指针了我们设置 cur 和 dest 两个指针当 nums[cur] 0 时 dest 走两格其它时候 dest 和 cur 都走一格当 dest 走完整个数组 cur 所指的就是最后数组的结尾元素现在知道了结果数组的最后一个元素那么我们再让 cur 和 dest 往回走 1.1.如果 cur 的值不是0dest 的值直接被覆盖 1.2.dest 和 cur 都向前走一步2.1.如果 cur 的值是0那么 dest 的值被覆盖 2.2.dest 向前走一步dest 的值继续被覆盖 2.3.dest 和 cur 都向前走一步。 三、代码 class Solution { public:void duplicateZeros(vectorint arr) {int len arr.size();int cur 0;int dest -1;//一开始不知道dest的位置while(cur len)//cur要遍历整个数组{if(arr[cur]) dest;else dest 2;if(dest len - 1) break;//如果dest已经到数组结尾终止cur;}if(dest len)//dest有可能越界{//单独处理末尾元素arr[len - 1] 0;dest - 2;cur--;}while(cur 0){if(arr[cur]) arr[dest--] arr[cur--];else{arr[dest--] 0;arr[dest--] 0;cur--;}}} }; 202.快乐数 一、题目描述 OJ题目链接力扣LeetCode 二、思路解析 我们要特别关注题目描述中的第二句话这是一个始终都会循环的结构对比之前的知识我们很快能想到环形链表。 定义 fast 和 slow 两个指针 fast 的速度是 slow 的二倍那么他们一定会在环内相遇我们通过观察相遇位置是否是1就可以得出该数是不是快乐数。 接下来的任务就是算这个数每个位置上的数字的平方和了这有多种写法我提供我的写法如下 三、代码 class Solution { public:int Calculate(int n){//计算某个数每个位置上的数字的平方和int sum 0;while(n / 10 10){sum pow(n % 10, 2);n / 10;}sum pow(n % 10, 2);sum pow(n / 10, 2);return sum;} bool isHappy(int n){int fast Calculate(n);int slow n;while (fast ! slow){slow Calculate(slow);fast Calculate(Calculate(fast));}return slow 1;} }; 11.盛水最多的容器 一、题目描述 OJ题目链接力扣LeetCode 二、思路解析 首先我们先要理解下面的话如果不理解可以自己举例子算一下所以就得出只有一种情况是不确定的我们只需要罗列出该情况并找到最大值即可完成本题。 根据以上情况我们设置左右指针并不断选中最小值然后计算其容积并让非最小值向内移动不断重复并不断更新容积的最大值即可。 三、代码 class Solution { public:int maxArea(vectorint height) { int min_Val 0;//最小值int V 0;//容积int tmp 0;int left 0;int right height.size() - 1;while(left right){min_Val min(height[left], height[right]);tmp (right - left) * min_Val;if(height[left] height[right])right--;elseleft;V max(V, tmp);}return V;} };
http://www.pierceye.com/news/721436/

相关文章:

  • 织梦网站安装出现404 not found商务网站设计素材
  • 石家庄seo网站排名合肥做网站价格
  • 盘锦市城乡建设厅网站区域代理加盟项目
  • 源码如何做网站个人音乐网站源码搭建
  • 网站推广资讯网站注册界面设计
  • 凡网站建设网站线下推广怎么做
  • 简要描述创建商务站点的商务镇江海绵城市建设官方网站
  • 广东建设局网站首页物流官网网站
  • 网站首页做多大分辨率卖域名做非法网站
  • 内蒙古自治区建设厅网站首页网站如何做cdn
  • 代做计算机毕业设计网站福田庆三明星案例
  • 常用seo站长工具微商引流推广平台
  • 潍坊市作风建设年官方网站央视新闻
  • 东阳app开发广东seo网站设计价格
  • 医院网站开发门诊部网站建设
  • 卫生系统网站的建设和维护uc浏览器官网
  • 曲靖网站制作一条龙深圳网站建设的特殊性
  • 网站建设技术课程设计儿童教育网站怎么做有趣
  • 建设银行网站网址网站推广在线
  • 服务器上网站建设用什么搭建个人网站
  • 网站设计排版怎么做wordpress添加媒体
  • 网站服务器镜像外协加工网最新订单
  • 做网站要准备的资料广州响应式网站
  • 徐州网站建设方案维护wordpress主页访客记录
  • 西安网站优化招聘网多个网站 备案吗
  • 宣威网站wordpress 园林模板
  • 宁夏政务大厅城乡建设厅口网站怎么用抓爬工具做网站
  • 电影网站怎么建设深圳企业营销型网站
  • 天津工程建设网官方网站wordpress 静态化插件
  • 洛阳公司青峰做的企业网站设计本app