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

郑州做网站的专业公司seo快排公司哪家好

郑州做网站的专业公司,seo快排公司哪家好,个人网站建设论文,程序开发工具go语言实现LRU Cache 题目描述详细代码 题目描述 设计和构建一个“最近最少使用”缓存,该缓存会删除最近最少使用的项目。缓存应该从键映射到值(允许你插入和检索特定键对应的值),并在初始化时指定最大容量。当缓存被填满时,它应该删除最近最…

go语言实现LRU Cache

  • 题目描述
  • 详细代码

题目描述

设计和构建一个“最近最少使用”缓存,该缓存会删除最近最少使用的项目。缓存应该从键映射到值(允许你插入和检索特定键对应的值),并在初始化时指定最大容量。当缓存被填满时,它应该删除最近最少使用的项目。

它应该支持以下操作: 获取数据 get 和 写入数据 put 。

获取数据 get(key) - 如果密钥 (key) 存在于缓存中,则获取密钥的值(总是正数),否则返回 -1。
写入数据 put(key, value) - 如果密钥不存在,则写入其数据值。当缓存容量达到上限时,它应该在写入新数据之前删除最近最少使用的数据值,从而为新的数据值留出空间。

详细代码

type LRUCache struct {capacity   intm          map[int]*Nodehead, tail *Node
}type Node struct {Key       intValue     intPre, Next *Node
}func Constructor(capacity int) LRUCache {head, tail := &Node{}, &Node{}head.Next = tailtail.Pre = headreturn LRUCache{capacity: capacity,m:        map[int]*Node{},head:     head,tail:     tail,}
}func (this *LRUCache) Get(key int) int {// 存在,放到头if v, ok := this.m[key]; ok {this.moveToHead(v)return v.Value}// 不存在,返回-1return -1
}func (this *LRUCache) Put(key int, value int) {// 已经存在了if v, ok := this.m[key];ok{v.Value = valuethis.moveToHead(v)return }if this.capacity==len(this.m){rmKey := this.removeTail()delete(this.m ,rmKey)}newNode := &Node{Key: key, Value: value}this.m[key] = newNodethis.addToHead(newNode)
}func (this *LRUCache) moveToHead(node *Node) {this.deleteNode(node)this.addToHead(node)
}func (this *LRUCache) deleteNode(node *Node) {node.Pre.Next = node.Nextnode.Next.Pre = node.Pre
}func (this *LRUCache) addToHead(node *Node) {// 先让node位于现存第一位元素之前this.head.Next.Pre = node// 通过node的next指针让原始第一位元素放到第二位node.Next = this.head.Next// 捆绑node和head的关系this.head.Next = nodenode.Pre = this.head
}func (this *LRUCache)removeTail()int{node := this.tail.Prethis.deleteNode(node)return node.Key
}/*** Your LRUCache object will be instantiated and called as such:* obj := Constructor(capacity);* param_1 := obj.Get(key);* obj.Put(key,value);*/
http://www.ritt.cn/news/9418.html

相关文章:

  • 网站流量监控怎么做百度收录量查询
  • 昆明网站建设公司推荐永久免费linux服务器
  • 做网站赚钱交税我想找一个营销团队
  • Dell网站建设建议百度营销推广登录
  • 做cpa的网站源码宣传推广方式有哪些
  • adobe做网站的河南seo和网络推广
  • 山东临沂网站开发酒店营销策划与运营
  • WordPress首页站内搜索电商运营方案计划书
  • 新乡公司做网站找哪家公司好职业培训机构需要什么资质
  • 口碑好的聊城网站建设seo人才
  • 最近的两个新闻快速seo优化
  • 有没有专业做电视测评的网站网站子域名查询
  • 你的网站尚未备案 根据站内营销推广途径
  • 深圳营销型网站建设公司选择哪家好查收录
  • 深圳罗湖做网站今天最新新闻报道
  • wordpress插件漏洞利用百度seo关键词外包
  • 深圳网站建设外包公司百度指数怎么用
  • 党风廉政建设网站关键词优化seo优化
  • 太原商城网站建设百度免费网站制作
  • jquery效果网站英文seo外链发布工具
  • 做网站后台需要写代码吗深圳优化公司找高粱seo服务
  • 楼凤网站怎么做的seo文章优化技巧
  • 网络营销专业学校有哪些河北seo基础知识
  • 咸宁网站设计公司百度一下首页百度一下
  • deramweaver做网站建站abc官方网站
  • b2b有哪些企业电脑系统优化软件
  • 做网站就上房山华网天下虎门今日头条新闻
  • 网站建设课程设计格式怎么上百度推广产品
  • 支持手机网站的空间西安seo阳建
  • logo在线制作网站网络营销推广微信hyhyk1效果好