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

一级做爰片软件网站wordpress中医主题

一级做爰片软件网站,wordpress中医主题,古典网站织梦模板,四川住房和建设厅网站一、移动零 . - 力扣#xff08;LeetCode#xff09; 移动零 该题重要信息#xff1a;1、保持非0元素的相对位置。2、原地对数组进行操作 思路#xff1a;双指针算法 class Solution { public:void moveZeroes(vectorint nums){int nnums.size();for(int cur… 一、移动零 . - 力扣LeetCode 移动零 该题重要信息1、保持非0元素的相对位置。2、原地对数组进行操作 思路双指针算法 class Solution { public:void moveZeroes(vectorint nums){int nnums.size();for(int cur0,des-1;curn;cur)if(nums[cur])//如为非零就要与des后面的位置元素进行交换swap(nums[des],nums[cur]);} }; 二、复写零 . - 力扣LeetCode复写零 该题的重要信息1、不要在超过该数组的长度的位置写入元素就是不要越界2、就地修改就是不能创建新数组。3、不返回任何东西。 思路双指针算法 class Solution { public:void duplicateZeros(vectorint arr){int cur0,des-1,narr.size();//找最后一个被复写数的位置for(;curn;cur){if(arr[cur])des;elsedes2;if(desn-1)//要让des指向最后一个位置break;}//边界修正if(desn){arr[--des]0;--des;--cur;}//从后往前复写for(;cur0;--cur){if(arr[cur])arr[des--]arr[cur];else{arr[des--]0;arr[des--]0;}}} }; 三、快乐数 . - 力扣LeetCode快乐数 该题的关键是将正整数变成他的每位数的平方之和有可能会一直循环始终到不了1也有始终是1快乐数 思路快慢双指针算法 以上的两个结论在博主的关于链表带环追击问题的文章里面有分析 顺序表、链表相关OJ题2-CSDN博客 class Solution { public:int bitsum(int n){ int sum0;while(n){int tn%10;sumt*t;n/10;//最后一位算完后拿掉}return sum;}bool isHappy(int n) {int slown,fastbitsum(n);while(fast!slow){slowbitsum(slow);fastbitsum(bitsum(fast));}return slow1;} }; 四、盛最多水的容器 . - 力扣LeetCode盛最多水的容器 思路1、暴力枚举时间复杂度太高 class Solution { public:int maxArea(vectorint height){//暴力枚举int nheight.size();int ret0;for(int i0;in;i)for(int ji1;jn;j)retmax(ret,min(height[i],height[j])*(j-i));return ret;} }; 思路2、双指针对撞算法 class Solution { public:int maxArea(vectorint height){int left0,rightheight.size()-1,ret0;while(leftright){retmax(ret,min(height[left],height[right])*(right-left));if(height[left]height[right])left;else--right;}return ret;} }; 五、有效三角形的个数 . - 力扣LeetCode有效三角形的个数 思路1升序暴力枚举 思路2升序利用双指针算法 class Solution { public:int triangleNumber(vectorint nums) {//排序一下sort(nums.begin(),nums.end());//先固定一个数然后用双指针去找比较小的两个数int nnums.size(),ret0;for(int in-1;i2;--i){int left0,righti-1;while(leftright){int sumnums[left]nums[right];if(sumnums[i]) left;else {ret(right-left);--right;} }}return ret;} }; 六、查找总价格为目标值的两个商品 . - 力扣LeetCode查找总价格为目标值的两个商品 思路1两层for循环找到所有组合去计算 思路2利用单调性使用双指针算法解决问题 class Solution { public:vectorint twoSum(vectorint price, int target) {int nprice.size();int left0,rightn-1;while(leftright){int sumprice[left]price[right];if(sumtarget) --right;else if(sumtarget) left;else return {price[left],price[right]};}return {1,0};} }; 七、三数之和 . - 力扣LeetCode三数之和 解法1排序暴力枚举set去重 解法2排序双指针 class Solution { public:vectorvectorint threeSum(vectorint nums){vectorvectorint ret;int nnums.size();//先排序sort(nums.begin(),nums.end());//先固定一个数for(int i0;in;){if(nums[i]0) break;//小优化int target -nums[i];//目标值//定义双指针int lefti1,rightn-1;while(leftright){int sumnums[left]nums[right];if(sumtarget) left;else if(sumtarget) --right;else {ret.push_back({nums[left],nums[right],nums[i]});//插入进去left;--right;//去重while(leftrightnums[left]nums[left-1]) left;//去重要注意边界while(leftrightnums[right]nums[right1]) --right;}}i;while(innums[i]nums[i-1]) i;//去重要注意边界}return ret;} }; 八、四数之和 . - 力扣LeetCode四数之和 解法1排序暴力枚举set去重 解法2排序双指针和上一题基本一样无非就是多固定了一个数 class Solution { public:vectorvectorint fourSum(vectorint nums, int target) {vectorvectorint ret;//先进行排序sort(nums.begin(),nums.end());//利用双指针解决int nnums.size();//先固定一个数for(int i0;in;){//再固定一个数for(int ji1;jn;){int leftj1,rightn-1;long long aim(long long)target-nums[i]-nums[j];//确保不超出范围while(leftright){long long sumnums[left]nums[right];if(sumaim) left;else if(sumaim) --right;else {ret.push_back({nums[i],nums[j],nums[left],nums[right]});left;--right;//去重while(leftrightnums[left]nums[left-1]) left;while(leftrightnums[right]nums[right1]) --right;}}//去重j;while(jnnums[j]nums[j-1]) j;}//去重i;while(innums[i]nums[i-1]) i;}return ret;} }; 九、总结 常见的双指针有三种形式前后指针、对撞指针、快慢指针 1、前后指针用于顺序结构一般是两个指针同方向cur指针用来遍历数组des指针将数组进行区域划分。如1、2题 注意事项如果是从前往后遍历要注意dst不能走得太快否则cur还没遍历到一些数就会被覆盖掉必要时候可以根据情况从后往前遍历。 2、快慢指针其基本思想就是使⽤两个移动速度不同的指针在数组或链表等序列结构上移动。 这种⽅法对于处理环形链表或数组⾮常有⽤。如第3题以及链表带环的问题 注意事项 其实不单单是环形链表或者是数组如果我们要研究的问题出现循环往复的情况时均可考虑使⽤快慢指针的思想。最常用的就是快指针走两步慢指针走一步。 3、对撞指针一般用于顺序结构。从两端向中间移动。⼀个指针从最左端开始另⼀个从最右端开始然后逐渐往中间逼近。并且常常会用到单调性如4-8题         注意事项对撞指针的终⽌条件⼀般是两个指针相遇或者错开也可能在循环内部找到结果直接跳出循环 如果后面还有关双指针的经典题目博主会继续在这篇更新的
http://www.zqtcl.cn/news/612694/

相关文章:

  • 建设网站招标定制高端网站建设报价
  • 商城网站建设code521广州安全教育平台登录入囗
  • 如何做网站系统安庆网站建设公司简
  • 北京做网站电话的公司网站怎么做外链
  • 手工艺品外贸公司网站建设方案复古风格网站
  • 企业网站后端模板如何编写手机程序
  • 泰州网站建设服务好wordpress 子分类
  • 做个企业网站要多少钱php mysql怎么编写视频网站
  • 精仿手表网站做网站为什么要做备案接入
  • 哈什么网一个网站做ppt清新区城乡建设局网站
  • 重庆专业网站建设首页排名网站模板广告去除
  • 河南省建设行业证书查询网站怎么用ps做网站首页背景图片
  • 如何取一个大气的名字的做网站青岛北方现货交易平台
  • 关于做书的网站购物网站建设资讯
  • 运营网站开发工作招聘做装修有什么好网站可以做
  • 免费自学平面设计的网站直播网站开发源码
  • 电子商务网站建设实践广州网站建设公司怎么选
  • 做公众号的素材网站分销电商平台有哪些
  • 网站后期维护协议如何免费注册网址
  • 内容展示型网站 设计特点福州百度seo
  • 外贸网站 推广影视广告宣传片制作公司
  • crm系统管理大兴安岭地网站seo
  • 免费 网站模板为什么自己做的网站别的电脑打不开
  • 公司网站建设建设辽宁鞍山网站建设
  • 企业为什么做网站优化推广做网站学什么什么专业
  • 怎样访问简版网站中小企业网站建设济南兴田德润电话
  • 哪里有零基础网站建设教学服务常用知名购物网站
  • 西宁高端企业网站建设公司名称大全免费取名
  • 如何解决网站图片打开慢关键词搜索推广排行榜
  • 网站建设销售话建网站需要怎样做