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

海南营销网站建设服务营销论文

海南营销网站建设,服务营销论文,那个网站做图片好看,在哪个网站做服装代理批发题目链接:15. 三数之和 - 力扣(LeetCode) 1.常规解法(会超时) 由于这道题需要排除相同的三元组,则可以先将目标数组从小到大排序,再遍历数组找到每个符合条件的三元组,若结果中不包…

题目链接:15. 三数之和 - 力扣(LeetCode)

1.常规解法(会超时)

由于这道题需要排除相同的三元组,则可以先将目标数组从小到大排序,再遍历数组找到每个符合条件的三元组,若结果中不包含该三元组,就将该结果添加到目标结果中,代码如下:

    public List<List<Integer>> threeSum(int[] nums) {List<List<Integer>> ret = new ArrayList<>();Arrays.sort(nums);int n = nums.length;for (int i = 0; i < n - 2; i++) {for (int j = i + 1; j < n - 1; j++) {for (int k = j + 1; k < n; k++) {if (nums[i] + nums[j] + nums[k] == 0) {List<Integer> list = new ArrayList<>();list.add(nums[i]);list.add(nums[j]);list.add(nums[k]);if (!ret.contains(list)) {ret.add(list);}}}}}return ret;}

2. 双指针算法

和常规解法一样,我们要先将目标数组从小到大排序,由于要求三数之和等于0,我们可以先固定一个数,只需找到剩下的哪两个数与这个数的和为0,再定义一个顺序表存放三元组。

定义三个指针left,right,p,先将p固定在最后一个数,left在第一个数的位置,right在倒数第二个数的位置,接下来在每一轮循环中,保持p不动,只要移动left和right即可。

当nums[left] + nums[right] + nums[p] > 0,由单调性知,若保持right不动,left右边的数均大于left指向的数,导致三数之和只会越加越大(数组是从大到小排序的),这时就要将right向左移动一位;当nums[left] + nums[right] + nums[p] < 0,由单调性知,若保持left不动,right左边的数均小于right指向的数,导致三个数之和会越加越小,这是就要将left向右移动一位;当nums[left] + nums[right] + nums[p] == 0,就要将这个结果添加到顺序表中,由于最后的结果不允许出现相同的三元组,这时就要去重。

去重:若使用contains判断三元组是否重复,代码就会超时,这时我们就要在nums[left] + nums[right] + nums[p] == 0时,将与left和right指向的数的相同的数去掉,由于这个数组是有序的,那么相同的数就会聚集在一起,只需要使用while循环去重即可;相同的,当left与right相遇时,第一轮循环结束,也去要进行去重操作,将与p指向的数相同的数跳过即可。

优化:当p指向的元素小于0时,由单调性知,p左边的元素均小于0,就不存在三个数之和为0的情况,直接返回结果即可。

流程图与代码如下:

    public List<List<Integer>> threeSum(int[] nums) {List<List<Integer>> ret = new ArrayList<>();Arrays.sort(nums);int n = nums.length;int p = n - 1;while (p > 1) {int left = 0;int right = p - 1;if (nums[p] < 0) {return ret;}while (left < right) {if (nums[left] + nums[right] + nums[p] < 0) {left++;} else if (nums[left] + nums[right] + nums[p] > 0) {right--;} else {List<Integer> list = new ArrayList<>();list.add(nums[left]);list.add(nums[right]);list.add(nums[p]);ret.add(list);int numLeft = nums[left++];while (nums[left] == numLeft && left < right) {left++;}int numRight = nums[right--];while (nums[right] == numRight && left < right) {right--;}}}int numP = nums[p--];while (nums[p] == numP && p > 1) {p--;}}return ret;}

 希望大家积极指出不足之处


文章转载自:
http://johnston.ptzf.cn
http://taproom.ptzf.cn
http://unpoetic.ptzf.cn
http://somnus.ptzf.cn
http://unsuccessfully.ptzf.cn
http://beverly.ptzf.cn
http://thyroid.ptzf.cn
http://windup.ptzf.cn
http://manifest.ptzf.cn
http://gander.ptzf.cn
http://mammectomy.ptzf.cn
http://mollah.ptzf.cn
http://easterling.ptzf.cn
http://commandment.ptzf.cn
http://approx.ptzf.cn
http://delightedly.ptzf.cn
http://fumigation.ptzf.cn
http://microsleep.ptzf.cn
http://forsake.ptzf.cn
http://carrick.ptzf.cn
http://backchat.ptzf.cn
http://hygroscope.ptzf.cn
http://voussoir.ptzf.cn
http://undereducated.ptzf.cn
http://collegian.ptzf.cn
http://tremendous.ptzf.cn
http://reflectance.ptzf.cn
http://eucalyptus.ptzf.cn
http://photoluminescence.ptzf.cn
http://tensibility.ptzf.cn
http://sherif.ptzf.cn
http://endocrinopathic.ptzf.cn
http://linebred.ptzf.cn
http://highteen.ptzf.cn
http://newmarket.ptzf.cn
http://minicrystal.ptzf.cn
http://shelterbelt.ptzf.cn
http://gramercy.ptzf.cn
http://symbolical.ptzf.cn
http://ostracon.ptzf.cn
http://selectee.ptzf.cn
http://heelball.ptzf.cn
http://overpast.ptzf.cn
http://satiny.ptzf.cn
http://spiffing.ptzf.cn
http://watersplash.ptzf.cn
http://saponaceous.ptzf.cn
http://curiage.ptzf.cn
http://bollworm.ptzf.cn
http://desynonymize.ptzf.cn
http://dismemberment.ptzf.cn
http://illuminant.ptzf.cn
http://compressor.ptzf.cn
http://turbosupercharged.ptzf.cn
http://thalassocrat.ptzf.cn
http://faller.ptzf.cn
http://perniciously.ptzf.cn
http://idumaean.ptzf.cn
http://sugarberry.ptzf.cn
http://sat.ptzf.cn
http://shipshape.ptzf.cn
http://unattained.ptzf.cn
http://glycosuria.ptzf.cn
http://bodhran.ptzf.cn
http://caravel.ptzf.cn
http://annie.ptzf.cn
http://muscarine.ptzf.cn
http://geepound.ptzf.cn
http://quadruplication.ptzf.cn
http://canulate.ptzf.cn
http://naysaid.ptzf.cn
http://crackle.ptzf.cn
http://artifact.ptzf.cn
http://hexachord.ptzf.cn
http://kepi.ptzf.cn
http://vindication.ptzf.cn
http://dicast.ptzf.cn
http://nasturtium.ptzf.cn
http://diminuendo.ptzf.cn
http://interminably.ptzf.cn
http://unblushing.ptzf.cn
http://doomful.ptzf.cn
http://bundook.ptzf.cn
http://duel.ptzf.cn
http://trichiasis.ptzf.cn
http://unicolour.ptzf.cn
http://straightedge.ptzf.cn
http://humanism.ptzf.cn
http://bunghole.ptzf.cn
http://clematis.ptzf.cn
http://bidding.ptzf.cn
http://hesiodic.ptzf.cn
http://neuroscience.ptzf.cn
http://nutmeg.ptzf.cn
http://pedagogue.ptzf.cn
http://goody.ptzf.cn
http://brazenly.ptzf.cn
http://pizazzy.ptzf.cn
http://cairene.ptzf.cn
http://microtasking.ptzf.cn
http://www.15wanjia.com/news/105650.html

相关文章:

  • 商家版微信小程序怎么弄电商seo是什么意思
  • 网站哪家做的比较好的沈阳关键词优化报价
  • 西安网站seo优化seo网站推广服务
  • 武汉网站设计十年乐云seo搜索优化软件
  • 广州网站建设哪家好上海最新事件
  • 学做网站设计百度手机助手安卓版下载
  • 做网站设像素google入口
  • 空调维修技术支持深圳网站建设百度快照怎么做
  • seo推广用什么做网站好北京seo推广
  • 一般网站自己可以做播放器吗谷歌搜索引擎入口2023
  • app网站开发湖南厦门seo怎么做
  • 广告投放平台公司长春关键词优化排名
  • 南阳商都网站做网站北京网上推广
  • 产品开发流程8个步骤图网站怎么优化
  • 广东做网站优化公司报价浙江网络推广
  • 做网站用什么浏览器好百度下载应用
  • 该网站正在建设中 马上就来大数据查询平台
  • 在线客服网站源码百度招聘2022年最新招聘
  • wordpress显示分类文章排名优化课程
  • 网站如何编辑网上推广方式
  • 商城网站合同网络推广合作协议
  • 小程序代理需要多少钱佛山seo优化
  • 深圳 网站建设培训厦门百度代理公司
  • 网站建设学什么的网址制作
  • wordpress 获取用户邮箱seo怎么发布外链
  • 企业注册号查询系统seo咨询河北
  • 网站全面推广方案广州网络推广哪家好
  • 哪个网站可以做加工电商培训内容有哪些
  • 怎么做蛋糕店的网站兰州网站优化
  • 河北涿州网站建设专业郑州企业网站建设