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

wordpress建站优缺点高端网站开发费用

wordpress建站优缺点,高端网站开发费用,云阳有没有做网站的,企业门户网站建设 验收一、题目描述 给定一个整数数组 nums,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足: i ≠ j ≠ knums[i] nums[j] nums[k] 0 请你返回所有 不重复的三元组。 示例: 输入:nums [-1, 0, 1, 2, -1, -4] 输出&#x…

一、题目描述

给定一个整数数组 nums,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足:

  • i ≠ j ≠ k
  • nums[i] + nums[j] + nums[k] == 0

请你返回所有 不重复的三元组


示例:

输入:nums = [-1, 0, 1, 2, -1, -4]
输出:[[-1, -1, 2], [-1, 0, 1]]

注意:

  • 结果中不能有重复三元组;
  • 顺序不限。

二、解题思路:排序 + 双指针

这是典型的「三数之和 = 固定一数 + 两数之和」问题,整体思路是:

  1. 对数组 nums 进行排序;
  2. 枚举第一个数 nums[i],将问题转化为:

    在区间 [i+1, n-1] 中找出两个数,使它们的和为 -nums[i]

  3. 双指针扫描解决;
  4. 去重处理。

双指针核心思想公式

假设 nums[i] + nums[left] + nums[right] = sum,我们目标是让 sum == 0,即:

sum = nums[i] + nums[left] + nums[right]

令:

target = -nums[i]

我们要找的是:

nums[left] + nums[right] == target

这个就是经典的 Two Sum 模式,可以用双指针解决!


 三、代码实现(含详细注释)

class Solution {
public:vector<vector<int>> threeSum(vector<int>& nums) {vector<vector<int>> res;sort(nums.begin(), nums.end());  // 排序是关键步骤int n = nums.size();for (int i = 0; i < n; ++i) {if (nums[i] > 0) break;  // 剪枝:第一个数大于 0,后面不可能和为 0if (i > 0 && nums[i] == nums[i - 1]) continue;  // 跳过重复的 iint left = i + 1;int right = n - 1;while (left < right) {int sum = nums[i] + nums[left] + nums[right];if (sum < 0) {++left;  // 需要更大,右移} else if (sum > 0) {--right; // 需要更小,左移} else {res.push_back({nums[i], nums[left], nums[right]});// 去重:跳过重复的 left 和 rightwhile (left < right && nums[left] == nums[left + 1]) ++left;while (left < right && nums[right] == nums[right - 1]) --right;++left;--right;}}}return res;}
};

四、复杂度分析

项目复杂度说明
时间复杂度O(n²)外层循环 O(n),内层双指针 O(n)
空间复杂度O(1)(忽略输出)使用常量指针操作,无额外数据结构

五、必须掌握的小技巧 & 模板技巧

1️⃣ 固定 + 双指针模板

sort(nums.begin(), nums.end());
for (int i = 0; i < n; ++i) {if (i > 0 && nums[i] == nums[i - 1]) continue;int left = i + 1, right = n - 1;while (left < right) {...// 同时处理去重}
}

这是后续 四数之和(4Sum)三数之和变形 的通用模板。


2️⃣ 去重技巧(关键)

  • 对外层 i 去重if (i > 0 && nums[i] == nums[i-1]) continue;
  • 对双指针内层去重
while (left < right && nums[left] == nums[left + 1]) ++left;
while (left < right && nums[right] == nums[right - 1]) --right;

确保每组答案只出现一次,避免重复提交。


3️⃣ 剪枝优化

一旦 nums[i] > 0,则三数之和不可能为 0,可立即跳出循环


六、拓展面试题 & 衍生思维

问题技巧点
返回三元组中所有满足 a+b+c==target 的组合改 sum == 0 为 sum == target
四数之和(LeetCode 18)固定两个数 + 双指针
三数之和接近 target(LC16)同样排序 + 双指针
判断是否存在三元组(布尔返回)提前 return true 即可

七、小结

技巧是否掌握
排序 + 双指针框架
去重逻辑(外层 & 内层)
提前剪枝优化
时间复杂度 O(n²) 分析

总结

三数之和的核心就是固定一数 + 两数之和 = 目标,配合排序和双指针,掌握这题后,k-sum 家族的题你就开启了通关大门!


文章转载自:

http://3Erop32m.fnhxp.cn
http://okFlLyZj.fnhxp.cn
http://wTkg5k4m.fnhxp.cn
http://LDQYBlSE.fnhxp.cn
http://CmJuJpME.fnhxp.cn
http://LsCYB1mL.fnhxp.cn
http://3mgWEttf.fnhxp.cn
http://hmximv7K.fnhxp.cn
http://HnOjTO0c.fnhxp.cn
http://mERbIwBH.fnhxp.cn
http://L7cp6TeT.fnhxp.cn
http://F5BtHimU.fnhxp.cn
http://xGoLkN3T.fnhxp.cn
http://UXADD9Un.fnhxp.cn
http://1nSHc0X2.fnhxp.cn
http://OUnetZ1y.fnhxp.cn
http://gn5kmwFd.fnhxp.cn
http://CWkE36Sc.fnhxp.cn
http://yImP3fEb.fnhxp.cn
http://QSaxdyIk.fnhxp.cn
http://aEgqheng.fnhxp.cn
http://dtLte4d9.fnhxp.cn
http://sYKSATEv.fnhxp.cn
http://Yioscskf.fnhxp.cn
http://IOADhvPK.fnhxp.cn
http://4TBIRSJA.fnhxp.cn
http://EKNvYEEn.fnhxp.cn
http://gFkPMrEz.fnhxp.cn
http://MlfO4PN0.fnhxp.cn
http://gO5h87QX.fnhxp.cn
http://www.dtcms.com/wzjs/648702.html

相关文章:

  • 镇平微网站建设西安关键词优化服务
  • 广州做礼物的网站wordpress中文免费模板下载地址
  • 任务发布网站建设浙江省房屋建筑工程资料表格久久建筑网
  • 微餐饮网站建设用途sae wordpress 主题
  • 桂林百度网站建设辽宁城乡建设厅网站
  • 苏州网站建设联系苏州梦易行免费咨询个税
  • 零食天堂 专做零食推荐的网站静态网站设计与制作书籍
  • 服务器如何架设网站石家庄网页设计师培训班
  • 做网站如何被收录wordpress新界面
  • 西数 网站建设做字体网站
  • 做招标代理应关注的网站国外网站怎样建设
  • 自助建站h5免费有限公司
  • 地坪网站建设环球资源外贸平台免费
  • 做网推的网站蜘蛛爬取网站
  • 上海品牌网站开发网页设计按钮代码模板
  • 专业网站开发哪里有做外贸 英文网站
  • 苏州建设工程招标网站网站设计用的技术
  • 济宁网上做科目一的网站手机做网站空间
  • 福田网站建设公司在线平面设计图
  • 电商网站建设属于研发费用吗网站模板修改
  • 廊坊建网站外包天猫网站企业网站专业性诊断分析
  • 潍坊网站建设选聚搜网络好近期热点新闻事件50个
  • 书店网站建设的设计报告网站模板织梦免费
  • 政务公开网站建设WordPress文章更新器
  • 张店网站制作价格低asp.net网站恢复
  • 南昌有限公司 网站专业网站制
  • 网站发布教程视频教程网站建设都包括什么科目
  • 网站建设费用详细表视频网站砸钱做生态
  • 企业网站模板 下载 论坛如何建设电商网站
  • 怎样做国外网站360搜索怎么做网站自然优化