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

网站建设百度帖吧姜堰网页设计

网站建设百度帖吧,姜堰网页设计,网件路由器设置教程,郑州高档网站建设四数之和 力扣题目链接 题目描述 给你一个由 n 个整数组成的数组 nums ,和一个目标值 target 。请你找出并返回满足下述全部条件且不重复的四元组 [nums[a], nums[b], nums[c], nums[d]] (若两个四元组元素一一对应,则认为两个四元组重复&…

四数之和

力扣题目链接

题目描述

给你一个由 n 个整数组成的数组 nums ,和一个目标值 target 。请你找出并返回满足下述全部条件且不重复的四元组 [nums[a], nums[b], nums[c], nums[d]] (若两个四元组元素一一对应,则认为两个四元组重复):

0 <= a, b, c, d < n
a、b、c 和 d 互不相同
nums[a] + nums[b] + nums[c] + nums[d] == target
你可以按 任意顺序 返回答案 。

解题思路

这道题其实就是三数之和的进阶版,做完三数之和,这道题就会做了,就是在三数之和的前提上多加一层循环。
解题过程:

  • 先对数组进行排序;
  • 进行双循环遍历两个元素,在遍历这两个元素的时候都需要判断两次;
  • 条件一为自己与上一个元素不相等,否则跳过这个元素;(防止元素重复)
  • 条件二为该元素小于target或者小于0,否则直接结束循环;(这个元素已经大于target且大于0了,所以不可能组成一个答案)
  • 然后和三数之和一样,定义做右指针在剩下范围的左右两侧,向中间收缩,直到左右指针相遇或者出现答案;
  • 收缩时需要注意,如果出现和上一个元素相等的情况需要继续收缩,防止答案重复;
  • 当出现所需要的答案时,保存在答案数组中即可。

题解

class Solution {
public:vector<vector<int>> fourSum(vector<int>& nums, int target) {vector<vector<int>> ans;sort(nums.begin(), nums.end());for(int i = 0; i < nums.size(); i++){if(nums[i] > target && nums[i] > 0){break;}if(i > 0 && nums[i] == nums[i - 1]){continue;}for(int j = i + 1; j < nums.size(); j++){if(nums[i] + nums[j] > target && nums[i] + nums[j] > 0){break;}if(j > i + 1 && nums[j] == nums[j - 1]){continue;}int l = j + 1, r = nums.size() - 1;while(l < r){if((long)nums[i] + nums[j] + nums[l] + nums[r] == target){ans.push_back({nums[i], nums[j], nums[l], nums[r]});while(l < r && nums[r] == nums[r - 1]){r--;}while(l < r && nums[l] == nums[l + 1]){l++;}r--;l++;}else if((long)nums[i] + nums[j] + nums[l] + nums[r] > target){r--;}else if((long)nums[i] + nums[j] + nums[l] + nums[r] < target){l++;}}} } return ans;}
};

总结

在被三数之和反复折磨之后,算是理解了枝剪去重的操作,这次写四数之和的整体思路是对的,但是还是出现了很多小问题。力扣不能debug振刀好难受啊。

http://www.dtcms.com/a/572545.html

相关文章:

  • 企业买好域名后怎么做网站seo培训教程视频
  • 做网站加入视频无法播放外贸人才网论坛
  • 龙岗网站 建设seo信科网站建设和整改方案
  • 安全标准化建设网站有哪些设计网站
  • dede网站后台打不开wordpress注册弹出框
  • 网站整站截图设计师必去的网站
  • 泰州网站设计公司360站长平台链接提交
  • 无锡免费建设网站家庭宽带做网站稳定
  • xcode 网站开发淘宝官网首页入口电脑版网址
  • 钢材贸易网站建设微信朋友圈的网站连接怎么做
  • 城市分类信息网站系统学编程可以建设网站吗
  • 销售网站的优秀标准手机网站网站建设
  • 征婚网站开发网站高端网站建设
  • 怀化三中网站metasploit wordpress
  • 广东网站建设服务公司西安小程序开发公司哪家好
  • 做网站还是做微信公众号手机模板网站模板下载工具
  • 网站上百度要怎么做的网站运营岗位职责描述
  • tap自助建站网站优化排名的方法
  • 做外贸怎样免费登录外国网站多平台网站开发
  • 智能网站排名优化东阳市建设局网站
  • 怀化网站建设公司html个人网页源码
  • 制作一个网站都需要学什么搜素引擎排名优化计费方式
  • 商场网站方案微商城开发设计
  • 珠海门户网站制作费用免费的客户管理软件哪个好用
  • app模板网站模板网站备案名称几个字
  • 南昌外贸网站设计设计制作实践活动100字
  • 网站风格优势wordpress自带播放器进度条
  • 住房和城乡建设部网站事故快报金融行业网站开发
  • iis7.5 网站打不开电子科技网站模板
  • 南通企业网站排名网上企业名称预先核准系统