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

现在推广网站最好的方式档案安全网站安全建设

现在推广网站最好的方式,档案安全网站安全建设,个人相册网站模板,做微商在哪个网站打广告好目录 一、刷题题号1:两数之和 二、解法总结1. 嵌套循环2. 双指针 一、刷题 记录LeetCode力扣刷题 题号1:两数之和 双循环(暴力解法): class Solution {public int[] twoSum(int[] nums, int target) {int[] listne…

目录

  • 一、刷题
    • 题号1:两数之和
  • 二、解法总结
    • 1. 嵌套循环
    • 2. 双指针

一、刷题

记录LeetCode力扣刷题

题号1:两数之和

  1. 双循环(暴力解法):
class Solution {public int[] twoSum(int[] nums, int target) {int[] list=new int[2];for(int i=0; i<nums.length;i++){for(int j=i+1; j<nums.length;j++){if(nums[i]+nums[j]==target){list[0]=i;list[1]=j;}}}return list;}
}

时间复杂度O(n²),j的初始值如果为0的话,循环次数会更多且需判断 i!=j

  1. HashMap 唯一key
class Solution {public int[] twoSum(int[] nums, int target) {int[] list=new int[2];Map<Integer, Integer> hashMap = new HashMap<Integer, Integer>();for (int i = 0; i < nums.length; ++i) {if (hashMap.containsKey(target - nums[i])) {list[0]=hashMap.get(target - nums[i]);list[1]=i;}hashMap.put(nums[i], i);}return list;}
}

我拿到题目时也想过先确定第一个数,再判断第二数是否在数组中(避免嵌套循环),但是第一时间没找到合适方法,后面看官方解法才想到。官方解法没有提前生成list数组,能提高一点执行用时。

  1. 双指针(未通过版):排序后下标已经乱了,不适合该题但是思路可以
class Solution {public int[] twoSum(int[] nums, int target) {int[] list=new int[2];int start=0,end=nums.length-1;QuickSort(nums,start,end);// Arrays.sort(nums);while(start<end){if(nums[start]+nums[end]>target) end--;if(nums[start]+nums[end]<target) start++;if(nums[start]+nums[end]==target){list[0]=start;list[1]=end;break;}}return list;}public void QuickSort(int[] nums,int start,int end){if(start<end){// 获取分区后的枢纽位置int pivotIndex=Partition(nums,start,end);// 分别对枢纽左右两边的子数组进行递归排序QuickSort(nums, start, pivotIndex - 1);QuickSort(nums, pivotIndex + 1, end);}}public int Partition(int[] nums,int start,int end){// 单边循环int pivot=nums[start]; // 基准元素int mask=start; // 标记指针for(int i=start+1;i<=end;i++){if(nums[i]<nums[mask]){mask++;// 交换int temp=nums[i];nums[i]=nums[mask];nums[mask]=temp;}}// 交换基准 nums[start]=nums[mask];nums[mask]=pivot;return mask;}}

先使用快速排序(或者Arrays.sort())排序好,再用首尾指针去判断,时间复杂度O(nlog₂n)(取决于排序算法O(n)+O(nlog₂n)=O(nlog₂n))
在这里插入图片描述

二、解法总结

1. 嵌套循环

暴力解法最常用,不考虑时间复杂度

2. 双指针

首尾指针,在排序的基础上使用,避免嵌套循环

http://www.yayakq.cn/news/345054/

相关文章:

  • 重庆长寿网站设计公司推荐网站没备案可以使用了吗
  • 再网站里做商家店铺用模块做网站
  • 网站开发用主要软件天津网站开发公司电话
  • wordpress网站嵌入音乐seo要点
  • 传媒有限公司免费网站果壳 wordpress
  • 专业做网站较好的公司广州站点怎么建网页
  • 更换网站需要怎么做做电商网站必需知道qc
  • 特色企业网站wordpress 短链插件
  • 绍兴网站建设做网站域名138查询网
  • 二手车网站开发多少钱logo图片设计
  • 北京专业制作网站公司哪家好站外推广渠道
  • 网站建设许可证学校的网站怎么做的好
  • 做娃衣的布料去哪个网站郑州网络公司排名前十名
  • 成都哪个公司做网站网页版游戏链接
  • 珠海市住房城乡建设局网站做网站注册35类哪几个小项
  • 网站下方链接图标怎么做中企动力销售一个月能挣多少
  • 诸暨企业网站建设企业首页网站属于什么类型网站
  • 太湖县网站建设公司下载京东购物商城app
  • 北京微信网站建设费用深圳网站建设运营
  • 企业网站设计与规划论文网站维护是什么职位
  • 不得不知道的网站网站网址有哪些
  • 杭州网站排名服务知名网站建设企业
  • 横向网站网站怎样推广 优帮云
  • 为什么想做网站运营素材网站设计模板下载
  • 怎样给网站或者商品做推广京东官网首页入口
  • 如何做一个大型网站杭州做网站比较好的公司
  • 电子商务网站规划与网页制作网页图片另存为的时候保存不了jpg
  • 做软欧的网站网站开发与维护书
  • 镇江网站制作网站建设婚庆策划公司加盟
  • 平湖市住房建设局网站怎么做微信里的网页网站链接