您的位置:首页 > 新闻 > 会展 > 广西住房和城乡建设厅_给我免费播放片高清在线观看电视剧誓言_海外推广代理商_seo网络推广优化

广西住房和城乡建设厅_给我免费播放片高清在线观看电视剧誓言_海外推广代理商_seo网络推广优化

2024/12/27 20:38:07 来源:https://blog.csdn.net/2301_80096514/article/details/143310243  浏览:    关键词:广西住房和城乡建设厅_给我免费播放片高清在线观看电视剧誓言_海外推广代理商_seo网络推广优化
广西住房和城乡建设厅_给我免费播放片高清在线观看电视剧誓言_海外推广代理商_seo网络推广优化

目录

一:题目

二:算法原理

三:代码编写 


一:题目

题目链接:. - 力扣(LeetCode) 

二:算法原理

该题目的算法原理和三数之和的算法原理极其相似,是在此基础上的进阶,推荐看完三数之和讲解再看此篇文章

三数之和文章链接:CSDN

 

三:代码编写 

class Solution {
public:vector<vector<int>> fourSum(vector<int>& nums, int target) {vector<vector<int>> ret;//1.排序sort(nums.begin(),nums.end());//2.双指针法for(int i = 0; i <nums.size();)//固定数字a{for(int j = i+1;j < nums.size();)//固定数字b{int left = j+1,right = nums.size()-1;//防止数据溢出long long sum = (long long)target - (nums[i]+nums[j]);//双指针法while(left < right){if(nums[left] + nums[right] < sum){left++;}else if(nums[left] + nums[right] > sum){right--;}else{ret.push_back({nums[i],nums[j],nums[left],nums[right]});left++;right--;//去重一+防止越界while(left < right && nums[left] == nums[left -1]) left++;while(left < right && nums[right] == nums[right+1]) right--;}}//去重二j++;while(j < nums.size()&&nums[j-1] == nums[j]) j++;}//去重三i++;while(i<nums.size() && nums[i] == nums[i-1]) i++;}return ret;}
};

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com