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

全媒体门户网站建设方案应用商店搜索优化

全媒体门户网站建设方案,应用商店搜索优化,电子商务网站规划与设计,东莞网站建设推广题目: 给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k ,同时还满足 nums[i] nums[j] nums[k] 0 。请返回所有和为 0 且不重复的三元组。 注意:答案中不可以包含重复的三…

题目: 给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i != j、i != k 且 j != k ,同时还满足 nums[i] + nums[j] + nums[k] == 0 。请返回所有和为 0 且不重复的三元组。

注意:答案中不可以包含重复的三元组。

示例 1:

输入:nums = [-1,0,1,2,-1,-4]
输出:[[-1,-1,2],[-1,0,1]]
解释:
nums[0] + nums[1] + nums[2] = (-1) + 0 + 1 = 0 。
nums[1] + nums[2] + nums[4] = 0 + 1 + (-1) = 0 。
nums[0] + nums[3] + nums[4] = (-1) + 2 + (-1) = 0 。
不同的三元组是 [-1,0,1] 和 [-1,-1,2] 。
注意,输出的顺序和三元组的顺序并不重要。

示例 2:

输入:nums = [0,1,1]
输出:[]
解释:唯一可能的三元组和不为 0 。

示例 3:

输入:nums = [0,0,0]
输出:[[0,0,0]]
解释:唯一可能的三元组和为 0 。

思路:

逐个遍历数组,确定第一个元素后,剩下的两个数字就是和为 target - nums[i] 的两个数字了,因此将确定元素的下一个索引和target-nums[i]传给两个数相加和为某个数的函数,由该函数返回所有满足和为target-nums[i]的二维vector,将返回的结果遍历,如果结果不为空,每次循环将刚在确定的第一个数加进这个一维vector中组成一个和为0的三元组,再将这个三元组加入到vector中,在最后需要跳过第一个数组重复的情况,否则可能会出现重复的结果。

vector<vector<int>> twoSumtarget(vector<int>& nums,int start,int target) {int left = start;int right = nums.size() - 1;vector<vector<int>> res;while (left<right) {int leftnum = nums[left];int rightnum = nums[right];int sum = nums[left] + nums[right];if (sum <target) {while (left < right&&nums[left] == leftnum) {left++;}}else if (sum > target) {while (left < right && nums[right] == rightnum) {right--;}}else if(sum == target){res.push_back({ nums[left],nums[right] });while (left < right && nums[left] == leftnum) {left++;}while (left < right && nums[right] == rightnum) {right--;}}}return res;
}vector<vector<int>> threeSumtarget(vector<int>& nums, int target) {sort(nums.begin(),nums.end());int numsize = nums.size();vector<vector<int>> res;for (int i = 0; i < numsize;i++) {vector<vector<int>> tuples = twoSumtarget(nums,i+1,target-nums[i]);//如果存在满足条件的二元组,再加上nums[i]结果就是三元组for (vector<int>& tuple:tuples) {tuple.push_back(nums[i]);res.push_back(tuple);}//跳过第一个数字重复的情况,否则可能会出现重复结果while (i < numsize - 1 && nums[i] == nums[i + 1]) i++;}return res;
}int main() {vector<int> c{ -1,0,1,2,-1,4 };int target = 0;vector<vector<int>> result= threeSumtarget(c,target);for (vector<vector<int>>::iterator it = result.begin(); it != result.end();it++) {for (vector<int>::iterator pit = (*it).begin(); pit != (*it).end();pit++) {cout<<*pit<<" ";}cout << endl;}return 0;
}
http://www.ds6.com.cn/news/41497.html

相关文章:

  • wordpress轻语博客阿里seo排名优化软件
  • 杭州做网站的好公司有哪些网络营销工具分析
  • 企业年金查询app西安网站seo服务
  • 小地方的旅游网站怎么做dsp投放方式
  • 什么静态网站容易做广东近期新闻
  • 淘宝客如何做淘宝客网站推广链接交换平台
  • 杭州做网点卖服装在那个网站网站站长工具
  • 高端建站收费标准seo优化方向
  • 聚美优品的pc网站建设网络营销方法有哪些
  • 北京网站排名优化软件外包公司好不好
  • 绍兴免费做网站长沙网
  • 西安网站建设公司找哪家培训学校加盟费用
  • 口碑好的网站建设商家小视频网站哪个可以推广
  • 亚洲男女做暖网站常德网站优化公司
  • 在电脑上做网站seo关键词优化哪个平台好
  • 猪八戒网可以做福彩网站吗外链平台
  • 上海c网站建设域名邮箱 400电话
  • 帝国做的网站怎么上传图片市场营销策划ppt
  • 怎么做网站banner网站客服
  • 网站从香港转到内地如何备案口碑营销的名词解释
  • 电子商务网站解决方案重庆seo全网营销
  • 宜昌做网站公司有哪些方法网络销售就是忽悠人
  • 做网站设计管理的专业营销软文范例大全300
  • 网站建设与管理教学大纲网络营销与直播电商
  • dw做音乐网站生成关键词的软件免费
  • 湛江网站建设团队福州搜索引擎优化公司
  • 吴中区建设局网站宁波seo运营推广平台排名
  • 做网批的有什么网站呢网站开发软件有哪些
  • 手机商场网站制作seo关键词seo排名公司
  • 杭州定制网站制作软文写作要求