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

用网站名查询网址培训学校

用网站名查询网址,培训学校,企业网站ui设计,免费建站网站建设LeetCode 15. 三数之和 题目描述 给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c 使得 a b c 0?请你找出所有和为 0 且不重复的三元组。 注意: 答案中的三元组可以按任意顺序组织。在 n…

LeetCode 15. 三数之和

题目描述

给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 abc 使得 a + b + c = 0?请你找出所有和为 0 且不重复的三元组。

注意:

  • 答案中的三元组可以按任意顺序组织。
  • nums 中,除了同一个三元组中的元素可以重复外,不可以有重复的三元组。

示例 1:

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

示例 2:

输入:nums = []
输出:[]

示例 3:

输入:nums = [0,0,0]
输出:[[0,0,0]]

Java 实现解法

方法一:排序 + 双指针
class Solution {public List<List<Integer>> threeSum(int[] nums) {Arrays.sort(nums); // 首先对数组进行排序List<List<Integer>> result = new ArrayList<>();for (int i = 0; i < nums.length - 2; i++) {if (nums[i] > 0) break; // 如果当前数字大于0,则后面的数字之和一定大于0if (i > 0 && nums[i] == nums[i - 1]) continue; // 跳过重复的数字int left = i + 1, right = nums.length - 1;while (left < right) {int sum = nums[i] + nums[left] + nums[right];if (sum < 0) {left++;} else if (sum > 0) {right--;} else {result.add(Arrays.asList(nums[i], nums[left], nums[right]));while (left < right && nums[left] == nums[left + 1]) left++; // 跳过重复的数字while (left < right && nums[right] == nums[right - 1]) right--; // 跳过重复的数字left++;right--;}}}return result;}
}

解题思路

  • 排序:首先对数组进行排序,这样可以通过一次遍历来找到所有可能的三元组,并且可以方便地跳过重复的解。
  • 固定第一个数:遍历数组,对于每个元素 nums[i],我们尝试找到两个其他元素,使得它们与 nums[i] 的和为 0
  • 双指针:对于每个 nums[i],我们使用两个指针 leftright 分别指向 i + 1nums.length - 1。这样,我们可以在这个范围内寻找和为 -nums[i] 的两个数。
  • 跳过重复解:如果在数组中找到了相同的数字,跳过它们以避免重复的三元组。
  • 更新指针:如果三数之和小于 0,则移动 left 指针;如果大于 0,则移动 right 指针;如果等于 0,则找到了一个解,并更新指针跳过重复的数字。

这种方法的时间复杂度是 O(n^2),其中 n 是数组 nums 的长度。因为我们对数组进行了排序,然后进行了两层嵌套循环。空间复杂度是 O(1),除了输入数组和输出列表外,我们没有使用额外的空间。

注:来源leetcode网站

http://www.hkea.cn/news/918076/

相关文章:

  • 做走私网站北京口碑最好的it培训机构
  • 网站建设OA系统开发it培训机构哪家好
  • 网站运维可以做哪些域名查询网站入口
  • 网站开发的基本语言外贸平台自建站
  • 女生自己做网站营销方法有哪些
  • 怎么自己做网站吓别人金融网站推广圳seo公司
  • 彩票网站的客服有做吗海淀seo搜索优化多少钱
  • 河源哪有做网站网页模板设计
  • 手机网站可以做英文版本吗近三天时政热点
  • 怎么做网站游戏网络优化排名培训
  • ic外贸网站建设黑帽seo技巧
  • 实业有限公司网站怎么做百度一下了你就知道官网
  • 企业电子商务网站推广平台有哪些渠道
  • 本地用织梦做网站百度的网站网址
  • 基础展示营销型型网站新闻发稿平台有哪些
  • 做游戏赚钱的网站最新新闻热点事件2022
  • 商务网站建设哪家好推广代理公司
  • 自己做网站是否要买云主机西安百度提升优化
  • 成都注册公司哪个区好分析网站推广和优化的原因
  • 模板建站杭州seo泽成
  • 济南网站建设公司川芎网络怎么注册自己的网址
  • linux下安装wordpress关键词优化排名查询
  • wordpress手机网站怎么做中央电视台一套广告价目表
  • 百家号如何给网站做推广推广方案是什么
  • 西安三网合一网站建设产品线上推广方案
  • 2023年免费b站入口百度网站优化
  • 响应式网站建设有利于seo网站发布与推广方案
  • 网页制作教程课件seo推广排名重要吗
  • 小规模纳税人企业所得税怎么征收广州seo招聘
  • 济南企业自助建站网络营销策划公司