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

长春企业网站设计贵州百度竞价网页设计

长春企业网站设计,贵州百度竞价网页设计,公司网站搭建费用,wordpress 下载受限题目链接#xff1a;18. 四数之和 - 力扣#xff08;LeetCode#xff09; 这道题是在三数之和上改编出来的#xff0c;在写这道题之前可以尝试以下三数之和#xff08;15. 三数之和 - 力扣#xff08;LeetCode#xff09;#xff09;#xff1b; 1.常规解法#xf…题目链接18. 四数之和 - 力扣LeetCode 这道题是在三数之和上改编出来的在写这道题之前可以尝试以下三数之和15. 三数之和 - 力扣LeetCode 1.常规解法会超时 由于这道题的结果不能出现含相同元素的三元组则可以先对目标数组排以防出现结果中元素相同但顺序不同的情况 接下可以遍历这个数组先找到所有的三元组再挑选出符合条件的三元组代码如下 public ListListInteger fourSum(int[] nums, int target) {ListListInteger ret new ArrayList();int n nums.length;Arrays.sort(nums);for (int i 0; i n; i) {for (int j i 1; j n; j) {for (int k j 1; k n; k) {for (int l k 1; l n; l) {if ((long)nums[i] (long)nums[j] (long)nums[k] (long)nums[l] (long)target) {ListInteger list new ArrayList();list.add(nums[i]);list.add(nums[j]);list.add(nums[k]);list.add(nums[l]);if (!ret.contains(list)) {ret.add(list);}}}}}}return ret;} 注意我们再进行判断时涉及到四个数据相加由于整形数据的最大值是2147483647,会出现1000000000 1000000000 1000000000  1000000000  -294967296的情况这与实际情况不符这时就需要类型转换由于long类型的数据范围更大就可以将int转化为long再相加比较。 2.双指针算法 和三数之和一样我么可以先固定最后一个数在前面的数中找到和为target - 最后一个数 因为有去重操作可以先对数组从小到大排序 先定义四个指针p1p2leftrightp1指向最后一个数p2指向倒数第二个数left指向第一个数right指向p2前一个数 现保持p1和p2不动让left与right相向运动若(long)nums[left] (long)nums[right] (long)nums[p1] (long)nums[p2] target则将这个四元组添加到结果中由于不能出现出重复的四元组就需要去除与left和right指向元素相同的元素若(long)nums[left] (long)nums[right] (long)nums[p1] (long)nums[p2]  target由单调性知以left为基准right左边的数均小于right指向的元素相加之后结果必小于target就需要将left向右移动一位若(long)nums[left] (long)nums[right] (long)nums[p1] (long)nums[p2]  target由单调性知以right为基准left右边的元素均大于left指向的元素相加之后结果必大于target就需要将right左移一位 当left与right相遇后内层的一轮循环就结束了就需要将p2向左移动一位同样的也需要进行去重操作除去与p2指向元素相同的元素 当p21时p2已经走完一遍就需要向左移动p1继续下一轮循环同样的也需要进行去重操作去除与p1指向元素相同的元素流程图与代码如下 public ListListInteger fourSum(int[] nums, int target) {ListListInteger ret new ArrayList();Arrays.sort(nums);int n nums.length;int p1 n - 1;while (p1 2) {int p2 p1 - 1;while (p2 1) {int left 0;int right p2 - 1;while (left right) {if ((long)nums[left] (long)nums[right] (long)nums[p1] (long)nums[p2] target) {ListInteger list new ArrayList();list.add(nums[left]);list.add(nums[right]);list.add(nums[p1]);list.add(nums[p2]);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--;}} else if ((long)nums[left] (long)nums[right] (long)nums[p1] (long)nums[p2] target) {left;} else {right--;}}int numP2 nums[p2--];while (nums[p2] numP2 p2 1) {p2--;}}int numP1 nums[p1--];while (nums[p1] numP1 p1 2) {p1--;}}return ret;} 希望读者指出不足之处
http://www.hkea.cn/news/14535939/

相关文章:

  • asp网站图片万网做网站给网站源码
  • 公司付网站会员费科目怎么做私募基金网站建设要求
  • 银川网站建设效果最新做做网站
  • 外贸网站建设 佛山做片头 网站
  • 网站怎么做外链接地址自己制作游戏的软件
  • jsp网站开发工资域名访问网站下
  • 在哪可以建一个网站网站建设感悟
  • 个人备案网站可以做商城展示开发公司网站
  • 电子商务网站建设与管理笔试设计公司介绍模板
  • 湘icp备 网站建设 农业 湖南wordpress邮箱验证失败
  • 为什么百度没有收录我的网站完全免费建站系统
  • 网站模板设计德语网站域名
  • 重庆点优建设网站公司南通网站建设推广
  • 电子商务网站设计与建设外贸公司推广方案
  • 聊天室网站开发如何做电商新手入门
  • wordpress添加文章封面贵阳网站搜索优化
  • 爱站网能不能挖掘关键词wordpress 五分钟
  • 谷歌官方网站首页长沙从寒网络科技有限公司
  • 泰安招聘信息最新招聘2023沈阳网站优化
  • 电商购物网站开发打游戏一天赚200元
  • 网站建设需求怎么提网站建设地图素材
  • asp.net mvc 做网站红酒营销 网站建设
  • 做360网站快速排名软件制作公司网页价钱
  • 连云港建设网站公司网站建设服务费的税收分类
  • 青岛 制作网站 大点的公司东莞专业网站建设服务
  • 北京海岸设计公司网站运输公司网站模板
  • 深圳网站建设设计首选公司做业务需要知道哪些网站
  • 备案网站建设书移动端网站开发哪家好
  • 如何建设国际网站首页网站模板内容怎么添加图片
  • 个人做网站流程图网络营销方案案例