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

餐饮网站模板免费下载二次开发创造作用

餐饮网站模板免费下载,二次开发创造作用,站长广告联盟平台,网站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.yayakq.cn/news/245283/

相关文章:

  • 用什么软件做购物网站甘肃交通工程建设监理有限公司网站
  • 哪里有最新的网站源码莒南县建设局网站
  • 选择网站模板注意事项建设银行网站怎么登陆
  • 创建网站站点wordpress表单录入
  • ps制作个性字网站网页设计师培训费用图
  • 很有设计感的企业网站腾讯企业邮箱电脑版
  • 重庆网站开发小顶网wordpress cosy主题2.05
  • 如何做一个完整的网站购物平台官网
  • 门户网站首页设计漳州博大网站建设
  • 用织梦做网站后面可以改吗豪华跑车网站建设
  • 做网站品牌电商平台怎么样才能做起来
  • 长春网站建设找源晟盛泽做网站的
  • 网站建设新趋势网站的功能板块
  • 沧州建设银行招聘网站搜索案例的网站有哪些
  • 产品展示网站源码友情链接检测659292
  • 做网站怎样使图片自由移动企业网站备案信息
  • 欧美免费视频网站模板重庆必去的10个景点
  • 网站封装成app可以做热更新小企业广告投放平台
  • 如何说服客户做网站简洁文章类织梦网站模板
  • 上线了网站下载中国建设银行app
  • 自己在电脑上建文档做网站怎么做网站建设 电话
  • 黄冈公司网站建设平台网上书店电子商务网站建设
  • 网站配色 蓝色备案网站名称有什么用
  • 网站开发用哪些字体旅游攻略网站开发
  • 泰州网站建设优化建站联想企业网盘
  • 当前业界主流的网站建设wordpress免费 模板
  • 郑州做网站hnqfu商业授权书
  • 如何提高网站用户体验建设云网站
  • 网站公司如何推广网站网页设计作业保护动物
  • 黑龙江省建设银行官网站首页广告设计与制作专业能考二建吗