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

企业做营销型网站网上哪里可以免费打广告

企业做营销型网站,网上哪里可以免费打广告,青岛企业建站程序,阿里接外包吗网站开发题目描述 解题思路 先说一种很容易想到的暴力解法 暴力解法的思路很简单,就是遍历数组,对于每一个元素,都去遍历数组中剩下的元素,判断是否有两个元素的和等于目标值,如果有,就返回这两个元素的下标。 c…

题目描述

在这里插入图片描述

解题思路

先说一种很容易想到的暴力解法

暴力解法的思路很简单,就是遍历数组,对于每一个元素,都去遍历数组中剩下的元素,判断是否有两个元素的和等于目标值,如果有,就返回这两个元素的下标。

class Solution(object):def twoSum(self, nums, target):for i in range(len(nums)):rest = nums[i+1:]for j in range(len(rest)):if nums[i] + rest[j] == target:return [i, i+j+1]

尝试提交,通过,时间复杂度为O(n^2)

在这里插入图片描述

显然上面的方法不够优雅,再说一种优雅的解法

暴力解法是把每一个数都遍历,然后返回下标,但是这个遍历的过程显然是太过于耗时了,那么我们能不能使用一个数据结构把已经遍历过的数据存储起来,然后往后遍历的时候,求和的时候直接去除先前数据的下标呢?

有的,有的兄弟!我们可以使用字典来存储,当然,你也可以叫他哈希表(HashMap),其实在Python中,这就是字典,为什么叫他哈希表呢,这是因为这个存储思想就是基于操作系统中哈希存储的。

那么我们可以这样来操作:我们遍历所有的数据,以数据的值为键,以它的下标为值,存储到哈希表中,然后每次都判断目标的值和当前所遍历的值的差是否在哈希表中,如果在,直接返回当前数的下标和哈希表中数的下标,否则继续。

开始手搓!

class Solution(object):def twoSum(self, nums, target):num_dict = {}for i in range(len(nums)):if target - nums[i] in num_dict.keys():return [i, num_dict[target-nums[i]]]else:num_dict[nums[i]] = i

尝试提交,通过,时间复杂度为O(n)
在这里插入图片描述

总结

可以看到,执行时间从2172ms降到了3ms,效率提升了700倍!自然就变得优雅了。

http://www.dtcms.com/wzjs/84149.html

相关文章:

  • 惠州网站制作找哪家企业获客方式
  • 帮别人做海报网站百度竞价点击软件奔奔
  • 商城网站建设视频长春网站制作系统
  • 织梦软件开发网站模板下载免费域名的网站
  • 怎么给网站添加代码软文范例大全500字
  • 网站怎么收录查看域名每日ip访问量
  • wordpress 分类描述襄阳seo
  • wordpress 主题制作 加入评论搜索引擎优化主要包括
  • ps软件下载官网免费长沙网站seo收费
  • wordpress 翻页功能青岛百度整站优化服务
  • 厦门商城网站开发seo标题优化的方法
  • 廊坊网站建设公司百度推广助手app
  • 企业网站建设要注意什么近三天新闻50字左右
  • 传奇网站怎么做小程序商城
  • 湖南土特产销售网网站建设制作百度快照替代
  • dede免费手机网站模板下载百度竞价推广开户内容
  • 建设网站前需要的市场分析怎么优化
  • 食品公司网站建设域名关键词查询
  • 昆明官网优化公司seo技术培训教程
  • 小网站连云港seo公司
  • 做ppt找图片的网站有哪些产品推广方式有哪些
  • 通用网站建设windows系统优化软件
  • 电子商务网站建设与维护实验报告网站查询入口
  • 自己做平台网站抖音关键词排名查询
  • 免费 建站上海短视频推广
  • wordpress浏览器版本逆冬seo
  • wordpress 下拉框赣州seo排名
  • 网站建设单位哪家好自媒体平台app
  • 苏州创建网站seo优化教程培训
  • 麻章手机网站建设公司seo是一种利用搜索引擎