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

原画师seo公司 杭州

原画师,seo公司 杭州,2022年卡一卡二卡三精品,深圳专业集团网站建设两数之和很经典,通常对于首先想到的就是暴力的求解,当然这没有问题,但是我们如果想要追求更优秀算法,就需要去实现更加简便的复杂度。 这里就要提到我们的哈希表法: 我们可以使用unordered_map去实现,也可以根据题目&a…

 

两数之和很经典,通常对于首先想到的就是暴力的求解,当然这没有问题,但是我们如果想要追求更优秀算法,就需要去实现更加简便的复杂度。

        这里就要提到我们的哈希表法: 我们可以使用unordered_map去实现,也可以根据题目,用数组去模拟哈希表,两种方式选择合适的就好。

        哈希表通过记录来某一键值是否存在,如果存在则可进一步访问pair中的second类型变量,通过这一系列的组合,就可以用哈希表简化大部分问题。

        如本道题,二数之和,就是找寻数组中两个和为target的数,并且返回其下标。

        那么数据的值就key,对应的下标就是value。而且题目有要求:你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现,所以我们要先去寻找hash表中键值 target-nums[i]是否存在,存在就说明再nums[i]之前,就有与nums[i]和为target的值出现,所以返回 键值对应的Value(下标)和当前的i即可。   如果没有,则将当前的key(数据的值)添加并且记录其对应的下标。

、变式应用:

  •  此道题目,同样很容易想到暴力的解法,但是对于数据庞大的此道题会出现超时的结果。所以我们就要去优化算法结构,正好此题目与两个数据之间的关系有关的,所以很容易想到两数之和的哈希表解法。
  • 题目不再是返回满足条件的下标组合,而是输出满足条件下标的对数。所以这里的key键值和value的意义也要对应修改:key指代出现的数据对24取模后的值,value代表数据对24取模之后出现key的次数。
  • 举例比如:23出现,对24取模操作,得到23,那么hash[23]++(hash[23]的值代表出现次数)。
  • 所以对于两个数有必须要有关系:     ( X + Y )%24 == 0

所以就有下面的关系:

        

最后得到关系:   x%24 = (24-y%24)%24

利用这个关系式子,可以找到能与当前数据匹配之后能被24整除的数据对的个数。

具体操作:

1.寻找与当前数据满足条件的数据是否存在,如果存在,则统计次数。

2.如果没有,则将当前数据与24的取模作为key键值取更新value的值。(第一步和第二步一定不能反,如果倒过来,就不满足题目  i < j 

遍历一次整个数组,就可以统计出所有的对数即可。

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

相关文章:

  • 网站建设所需人员公司网站制作应该注意些什么
  • 免费学校网站系统房产设计公司网站
  • 织梦cms怎么打不开网站长沙线上注册推广公司
  • 网站开发招标参数找公司做网站
  • 网站开发的需求文档模板合肥建设工程信息网站
  • 搭建一个网站需要多久电子商务网站开发教程课后习题
  • 贵州建网站报价野外美食网站设计欣赏
  • 电子商务网站建设基本步骤怎么将微信同步到wordpress
  • 360网站排名怎么做wordpress 子目录 404
  • 网站改版对用户的影响网站文章优化事项
  • 佛山网站优化怎么做天猫店铺一个多少钱
  • 自己做国际网站wordpress跑一亿数据
  • 富阳网站建设公司网站seo课设
  • 网站被墙 做301跳转网站建设交付
  • 织梦网站 防黑培训心得体会200字
  • 做网站都是用源码么网站开发 岗位职责
  • 58同城网站建设的不足影视后期制作培训机构全国排名
  • 网站制作关键技术网站名称 如何注册
  • 成都网站外包优化软文撰写
  • google网站提交适合网站设计的gif图片
  • 公司网站发布流程专门找事做的网站
  • 公司网站格式建设银行app
  • 网站付费功能描述湖南英文网站建设
  • 4徐汇区网站建设网站及其建设的心得
  • 紫色网站网页设计尺寸大小
  • 站长号查询入口站长工具wordpress 判断首页
  • 沈阳网站制作定制策划wordpress 4.8 中文
  • 深圳开发网站的公司哪家好网页设计常用代码
  • 网站开发介绍费商城建站服务
  • 企业网站建设方案应该怎么做中山品牌网站建设