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

公司网站建设推荐乐云seo网站建设选谋者

公司网站建设推荐乐云seo,网站建设选谋者,dw网页制作下载,怎么买到精准客户的电话双指针应用场景: 数组划分、数组分块 目录 一、移动0 二、复写0 从后向前 三、快乐数 链表带环 四、盛水最多的容器 单调性双指针 五、有效三角形个数 单调性双指针 六、和为s的两个数字 七、三数之和 细节多 需再练 一、移动0 class Solution { public:void move…

双指针应用场景:

数组划分、数组分块

 

目录

 

一、移动0

 二、复写0 从后向前

  三、快乐数 链表带环

 四、盛水最多的容器 单调性+双指针

五、有效三角形个数 单调性+双指针

 六、和为s的两个数字

七、三数之和 细节多 需再练


一、移动0

class Solution {
public:void moveZeroes(vector<int>& nums) {int dest = -1;for(int cur = 0;cur < nums.size();cur++){if(nums[cur]){swap(nums[++dest],nums[cur]);}}}
};

 二、复写0 从后向前

c

细节:当最后cur = 0时,要小心越界。

class Solution {
public:void duplicateZeros(vector<int>& arr) {int cur = 0,dest = -1;int n = arr.size();while(cur < arr.size()){if(arr[cur]) dest++;else dest += 2;if(dest >= n-1) break;cur++;}if(dest == n){arr[n - 1] = 0;cur--;dest -= 2;}while(cur >= 0){if(arr[cur]) arr[dest--] = arr[cur--];else{arr[dest--] = 0;arr[dest--] = 0;cur--;}}}
};

  三、快乐数 链表带环

class Solution {
public:int bitSum(int n){int ret = 0;while(n>0){ret += (n%10)*(n%10);n /= 10;}return ret;}bool isHappy(int n) {int slow = n, fast = bitSum(n);while(slow != fast){slow = bitSum(slow);fast = bitSum(bitSum(fast));}return slow == 1;}
};

 四、盛水最多的容器 单调性+双指针

注意:高度由矮的决定。

class Solution {
public:int maxArea(vector<int>& height) {int n = height.size();int left = 0,right = n-1;int ret = 0;while(left < right){int v = min(height[left],height[right])*(right-left);ret = max(ret,v);if(height[left] < height[right]) left++;else right--;}return ret;}
};

五、有效三角形个数 单调性+双指针

核心:两小边之和大于第三边就可以组成三角形。

 

class Solution {
public:int triangleNumber(vector<int>& nums) {sort(nums.begin(),nums.end());int count = 0;for(int m = nums.size()-1;m >= 0;m--){int l = 0,r = m-1;while(l < r){if(nums[l] + nums[r] > nums[m]) count += (r-l),r--;else l++;}}return count;}
};

 六、和为s的两个数字

出现上面这样的报错是因为编译器觉得可能没有返回值,最后随便返回一个就行。 

七、三数之和 细节多 需再练

注意:要避免越界。 

class Solution {
public:vector<vector<int>> threeSum(vector<int>& nums) {int n = nums.size();sort(nums.begin(),nums.end());vector<vector<int>> ret;int i = 0;while(i < n){if(nums[i] > 0)break;int left = i+1,right = n-1,target = -nums[i];while(left < right){int sum = nums[left]+nums[right];if(sum < target) left++;else if(sum > target) right--;else {ret.push_back({nums[i],nums[left],nums[right]});left++,right--;while(left < right && nums[left] == nums[left-1]) left++;while(left < right && nums[right] == nums[right+1]) right--;} }i++;while(i < n && nums[i] == nums[i-1]) i++;}return ret;}
};

http://www.yayakq.cn/news/598231/

相关文章:

  • 网站免费建站o生成器软件
  • 电子书推送网站怎么做wordpress去除tag
  • 网站流量排名 全球开发公司经理述职报告
  • 山西推广型网站建设如何查看网站所用空间
  • 绩溪建设银行网站做h5好点的网站
  • 商城站时刻表米课中有个内贸网站建设
  • 兰州百度网站建设长春网站建设公司十佳
  • 百度找不到 网站建设网站多长时间
  • 网站怎么做中英文切换国内外网站建设比较
  • 无锡网站建设要多少钱竞价托管
  • 网站中的宣传册翻页动画怎么做做理财的网站好
  • 旅游网站设计图片昆明企业建站程序
  • 南通的互联网公司网站做一个主题wordpress
  • 宠物医院网站建设方案网站建设中页面源码
  • 网站为什么要更新室内设计师之路网站
  • 购物中心网站模板之路网站建设
  • 网站设计制作的介绍网站响应时间多久
  • phpcms 适合什么的网站阿里巴巴外贸平台下载
  • 陕西网站开发哪家好室内3d设计软件
  • win8平板做网站服务器如何在百度能搜索到公司网站
  • 临沂建设工程招聘信息网站我要在58上面做网站
  • 中山网站外包wordpress媒体库配置
  • 网站建设唯地带虚拟主机评测
  • 在线网站建设费用是多少免费制作网站的软件
  • 网站建设漂亮的模板做外贸没有网站需要注意什么
  • 昆明市西山区建设局网站赤峰seo
  • 某网站安全建设方案百度 seo优化作用
  • 建设银行互联网网站首页湖南网站seo营销
  • wordpress网站性能凡客诚品是什么
  • 网站建设多少钱一个站四川省微信网站建设推广