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

绵阳住房和城乡建设局网站最近的热点新闻

绵阳住房和城乡建设局网站,最近的热点新闻,做水果的有什么网站好,合肥高端网站建设力扣提升第一天 题目链接:https://leetcode.cn/problems/design-memory-allocator/?envTypedaily-question&envId2025-02-25 一开始解题思路 暴力解决法 我奔着先从简单的写法做起,之后再想办法进行改进,心里已经预料到会出现超出时间…

力扣提升第一天

题目链接:https://leetcode.cn/problems/design-memory-allocator/?envType=daily-question&envId=2025-02-25

在这里插入图片描述

一开始解题思路

暴力解决法

我奔着先从简单的写法做起,之后再想办法进行改进,心里已经预料到会出现超出时间限制的报错。

class Allocator:def __init__(self, n: int):self.capacity = [0]*nself.size = ndef allocate(self, size: int, mID: int) -> int:cur = 0while cur + size <= self.size:#检查当前窗口内是否全部可用if all(self.capacity[cur+i]==0 for i in range(size)):for i in range(size):self.capacity[cur + i] = mIDreturn curelse:cur += 1return -1def freeMemory(self, mID: int) -> int:count = 0for i in range(self.size):if self.capacity[i] == mID:self.capacity[i] = 0count = count + 1return count

毫无疑问,一脚就被力扣踢死了,出现超时报错(┭┮﹏┭┮)。

开始改进

分析哪些地方最为繁重

  • 经过分析,主要集中在allocate函数中,循环太多浪费时间

尝试改进方案

  • 想不出来(doge
  • 查看官方题解(模拟),恍然大悟
class Allocator:def __init__(self, n: int):self.n = nself.memory = [0] * ndef allocate(self, size: int, mID: int) -> int:count = 0for i in range(self.n):if self.memory[i]:count = 0else:count += 1if count == size:for j in range(i - count + 1, i + 1):self.memory[j] = mIDreturn i - count + 1return -1def freeMemory(self, mID: int) -> int:count = 0for i in range(self.n):if self.memory[i] == mID:count += 1self.memory[i] = 0return count

复杂度分析

  • 我的写法:由于每次发现当前窗口不是0时都得重新开始遍历一遍size,所以时间复杂度是O(n*size),空间复杂度为O(1)
  • 官方写法:遍历一遍数组,发现满足size个空位才开始分配内容,所以时间复杂度是O(n),空间复杂度为O(1)

感悟

  • 哈哈哈,还是思考得不到位呢!((:з」∠),居然没想到这么简单的方法,揪着字典啥的方向去思考如何降低时间复杂度了。
  • 就这样吧,今天也算是打开完毕了。共勉,继续加油
http://www.dtcms.com/wzjs/198754.html

相关文章:

  • 创建博客网站百度官网进入
  • 源码下载网站有哪些域名查询网站
  • 火影忍者网页制作网站无锡seo网站管理
  • 重庆市建筑工程厦门谷歌seo公司有哪些
  • wordpress外贸建站 视频开发新客户的十大渠道
  • 网站数据分析工具有哪些营销顾问
  • asp网站咋做完美动力培训价格表
  • 微信网站 影楼最新国际消息
  • 做食品企业网站的费用seo中文含义
  • 做网上竞彩网站合法吗seo关键词优化外包公司
  • 教育学校网站源码 php邯郸seo推广
  • 网站首页优化免费进入b站2022年更新
  • php java开发网站建设海外新闻发布
  • 网页版微信官方独立站seo优化
  • 贵阳小程序定制开发抖音seo排名优化软件
  • 视频网站做app开发的丹东seo推广优化报价
  • 安徽飞亚建设网站52种新颖的促销方式
  • 无锡网络建站北京网络网站推广
  • jsp网站开发技术今日小说搜索风云榜
  • 网站服务器选择北京seo排名技术
  • 株洲市天元区建设局网站成都黑帽seo
  • 品牌网站建设定制佛山网站建设工作
  • 深圳购物网站建设公司郑州网络推广团队
  • 网页设计素材与效果图深圳优化排名公司
  • 关于科技园区建设文章的网站今日油价最新
  • h5 php mysql网站开发怎么让网站快速收录
  • 呼市品牌网站建设那家好郑州优化网站公司
  • 怎么让别人访问自己做的的网站网站的营销推广方案
  • 中国住房和城乡建设部网站公文网站seo什么意思
  • wordpress企业网站制作百度搜索引擎推广