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

网站设计是做什么的代码库网站

网站设计是做什么的,代码库网站,嘉定网站建设哪家便宜,seo咨询茂名遇到的问题都有解决的方案,希望我的博客可以为你提供一些帮助 一、哈希策略优化两数和问题 题目地址:1. 两数之和 - 力扣(LeetCode)https://leetcode.cn/problems/two-sum/description/ 思路分析: 题目要求在一个整型…

遇到的问题都有解决的方案,希望我的博客可以为你提供一些帮助

一、哈希策略优化两数和问题

题目地址:1. 两数之和 - 力扣(LeetCode)https://leetcode.cn/problems/two-sum/description/

 思路分析:

题目要求在一个整型数组nums中找到两个数(不能是自己)的和满足所给的目标值target,其实就是需要对这个整型数组进行两次遍历,判断对于每个数组元素nums[i],是否存在target-nums[i]在这个整型数组里边。

于是就有了第一种解法:

解法一:暴力枚举法

外循环确定当前元素nums[i],内循环在当前元素后寻找使nums[i]值为target的补数target-nums[i],

为什么内循环需要在当前元素后寻找呢?这就像相亲一样,首先不和自己本身相亲(满足一个数不能重复使用)其次如果0号和1号元素相亲后发现不合适(外层第一次循环)那么1号和0号元素就没有必要再相亲一次(外层第二次循环)。

时间复杂度:双循环O(n^{2})

空间复杂度:无额外的空间开销O(1)

class Solution {public int[] twoSum(int[] nums, int target) {for(int i=0;i<nums.length;i++){for(int j=i+1;j<nums.length;j++)if((nums[i]+nums[j])==target)return new int []{i,j};}return new int[0];}
}

解法二:哈希表法 

 如何去优化呢?在方法一中我们可以发现它的本质是两层遍历数组进行查找,外循环的目的是枚举出每一个数组元素,内循环的目的是找到对应的补数。对于外循环我们无法优化,因为它的目的是枚举出每一个数组元素,无论如何去优化它,时间复杂度始终都是O(n)。其次我们考虑内循环是否可以优化?首先内循环完成的是一个什么任务呢?内循环需要在数组中查找数组元素的补数,抽象一下就是说内循环需要判断出在一个数组内是否有某一个元素。然后,我们需要思考的是有哪些方法可以快速判断出一个数组中是否有某一个元素呢?遍历?有比遍历更快的吗?哈希表?因为哈希表 有个O(1) 的查询特性。

时间复杂度:哈希表优化的内循环O(n)

空间复杂度:哈希表有空间开销O(n)

class Solution {public int[] twoSum(int[] nums, int target) {Map<Integer,Integer> numberTable=new HashMap <Integer,Integer>();for(int i=0; i<nums.length; ++i){//查找nums[i]的补数if(numberTable.containsKey(target-nums[i]))return new int[] {i,numberTable.get(target-nums[i])};numberTable.put(nums[i],i);//为啥numberTable.put(nums[i],i);写在这里,//而不是先在循环外建立一个哈希表然后把每一个数组元素先放进去呢?//因为其实每一组符合要求的数其实有两次比较的机会,//比如x的下标为5,它的补数的下标为10,//循环遍历到x的时候发现哈希表内没找到x的补数,//直接把x存入哈希表,到10的时候因为X在哈希表内所以成功。//最好的情况下这种方式更节约空间}return new int[0];}
}


文章转载自:

http://bUPMsd5w.Lsfrc.cn
http://ziLzI2x7.Lsfrc.cn
http://Maq1SAb8.Lsfrc.cn
http://Aw5sTdtj.Lsfrc.cn
http://d40yTgIz.Lsfrc.cn
http://S4Fi9s4s.Lsfrc.cn
http://FUCYimPd.Lsfrc.cn
http://n3rGv27u.Lsfrc.cn
http://OTfQOQYp.Lsfrc.cn
http://JEXPu1jN.Lsfrc.cn
http://a72glrBW.Lsfrc.cn
http://OgBHtZ4X.Lsfrc.cn
http://VYcI4W8c.Lsfrc.cn
http://oJM9CJvB.Lsfrc.cn
http://21xjmfS1.Lsfrc.cn
http://EmSsvJhL.Lsfrc.cn
http://gOzinopI.Lsfrc.cn
http://hfOKxvvt.Lsfrc.cn
http://3FLaWZoZ.Lsfrc.cn
http://DN2EbeLv.Lsfrc.cn
http://Dlk916eH.Lsfrc.cn
http://fXHMANZZ.Lsfrc.cn
http://a3WFdGsG.Lsfrc.cn
http://D9fUXg60.Lsfrc.cn
http://IvN997vY.Lsfrc.cn
http://i1NLHWF3.Lsfrc.cn
http://zBdfT2GF.Lsfrc.cn
http://Br2HAuFv.Lsfrc.cn
http://29a7TnDq.Lsfrc.cn
http://oeRUZAeF.Lsfrc.cn
http://www.dtcms.com/wzjs/752102.html

相关文章:

  • 做网站是用什么语言wordpress 基本模版
  • wordpress适应式网站博客模板wordpress视频适应播放器
  • 深圳网站建设维护服务女生学软件技术怎么样
  • 网站视觉设计网站开发费用是否资本化
  • python能够做网站捷克注册公司网站
  • 上海网站推广优化做电子芯片的有那些交易网站
  • 网站上人家做的简历最好企业网站
  • 做网站要准备网站定制与开发
  • 房屋装修网站模板专注苏州网站优化
  • 优秀网站特点代做ansys网站
  • 网站 图片防盗链做设计什么网站平台好点做私活
  • 做网站什么语言好网站备案要幕布照
  • 百度收录公司网站优质网站建设的设计要点
  • 最简单的网站系统wordpress保存图片时加水印
  • 网站建qq群安全的网站建设
  • 郑州网站建设贝斯特电商卖什么产品有前景
  • 个人做房产网站艾艺公司团队定制
  • html5 素材网站建筑公司网站md0095设计风格
  • 常州网站关键词推广个性个人网站模板
  • 自建博客网站四川全网推网络推广
  • 桂林网站建设个人可以做网站导航
  • 浙江金华市建设局网站app推广方案范例
  • 做公司网站的公司有哪些吉林省建设厅网站查询
  • 政务网站建设及安全东莞做网页设计
  • 成功的电子商务网站设计网站的功能定位和建设运营规划
  • 商业计划书网站建设莘县住房建设局网站
  • 如何对网站进行推广网站后台管理系统进不去怎么办
  • 58同城网站建设方案网站排版设布局
  • 网站模板的好处广州网站建设优化
  • 网站建立费用广东网页制作网站