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

怎样做返利网站西安php网站建设专家

怎样做返利网站,西安php网站建设专家,iis 显示网站建设中,网站建设流程平台题目链接#xff1a;15. 三数之和 - 力扣#xff08;LeetCode#xff09; 1.常规解法#xff08;会超时#xff09; 由于这道题需要排除相同的三元组#xff0c;则可以先将目标数组从小到大排序#xff0c;再遍历数组找到每个符合条件的三元组#xff0c;若结果中不包…题目链接15. 三数之和 - 力扣LeetCode 1.常规解法会超时 由于这道题需要排除相同的三元组则可以先将目标数组从小到大排序再遍历数组找到每个符合条件的三元组若结果中不包含该三元组就将该结果添加到目标结果中代码如下 public ListListInteger threeSum(int[] nums) {ListListInteger 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) {ListInteger 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再定义一个顺序表存放三元组。 定义三个指针leftrightp先将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 ListListInteger threeSum(int[] nums) {ListListInteger 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 {ListInteger 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://www.dnsts.com.cn/news/80319.html

相关文章:

  • 制作企业网站方案wordpress购买服务器
  • 做pc端网站特色上市公司网站建设评价
  • 商丘网站建设推广公司哪里网站备案
  • 富阳建立网站的昆山有名的网站建设公司
  • 制作网页网站哪个好用如何制作app的页面
  • 北京公司名称志鸿优化网
  • 网站开发与维护就业前景wordpress 英文采集
  • 中小型企业网站建设免费看片网站
  • 网站 html5node.js 做网站
  • 慧聪网de网站建设策略网站开发环境和运行环境
  • 做网站备案什么意思wordpress影院主题
  • html5网站下载Python能开发WordPress
  • 网站开发所需费用明细怎么网站开发
  • 漂亮的网站单页建设银行个人网站
  • 浙江昆仑建设集团网站征婚网站建设
  • 专业做网站咨询旅游网站论文摘要
  • wap建站系统开源河北省建设监理协会网站
  • 环保网站建设方案商务网站的功能
  • 开发一个小网站多少钱wordpress模板文件修改插件
  • 中国购物网站排行榜住房和城乡建设部网站准考证
  • 电子网站搜索引擎怎么做互联网排名前十名的公司
  • 模板网站建设咨询建设部网站1667号
  • 网页设计版面划分网站seo优化软件
  • 有源码手机怎么搭建网站东莞推广就莞用服务平台
  • 郑州网站建设汉狮wordpress文章自动采集发布
  • 专业的聊城网站建设创建网站要多长时间
  • 西丽网站建设设计徐州专业网站制作
  • 网站建设需要桂ajax吗阿里云网站怎么备案域名
  • 国外网站备案吗修改WordPress文章发布模板
  • 游戏网站规划方案seo推广优势