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

如何建立分销网站十大免费ppt课件网站

如何建立分销网站,十大免费ppt课件网站,百度知道电脑版网页入口,多功能垫块机LeetCode 380 O(1) 时间插入、删除和获取随机元素 实现RandomizedSet 类: RandomizedSet() 初始化 RandomizedSet 对象 bool insert(int val) 当元素 val 不存在时,向集合中插入该项,并返回 true ;否则,返回 false 。 …

LeetCode 380 O(1) 时间插入、删除和获取随机元素

实现RandomizedSet 类:
RandomizedSet() 初始化 RandomizedSet 对象
bool insert(int val) 当元素 val 不存在时,向集合中插入该项,并返回 true ;否则,返回 false 。
bool remove(int val) 当元素 val 存在时,从集合中移除该项,并返回 true ;否则,返回 false 。
int getRandom() 随机返回现有集合中的一项(测试用例保证调用此方法时集合中至少存在一个元素)。每个元素应该有 相同的概率 被返回。
你必须实现类的所有函数,并满足每个函数的 平均 时间复杂度为 O(1) 。

哈希表+变长数组

哈希表实现插入和删除的O(1),变长数组实现随机读取的O(1)

Python

class RandomizedSet:def __init__(self):self.nums = []self.indices = {}def insert(self, val: int) -> bool:if val in self.indices:return Falseself.indices[val] = len(self.nums)self.nums.append(val)return Truedef remove(self, val: int) -> bool:if val not in self.indices:return Falseid = self.indices[val]self.nums[id] = self.nums[-1]self.indices[self.nums[id]] = idself.nums.pop()del self.indices[val]return Truedef getRandom(self) -> int:return choice(self.nums)
# 作者:力扣官方题解
# 链接:https://leetcode.cn/problems/insert-delete-getrandom-o1/
# 来源:力扣(LeetCode)
# 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

Go

type RandomizedSet struct {nums    []intindices map[int]int
}func Constructor() RandomizedSet {return RandomizedSet{[]int{}, map[int]int{}}
}func (rs *RandomizedSet) Insert(val int) bool {if _, ok := rs.indices[val]; ok {return false}rs.indices[val] = len(rs.nums)rs.nums = append(rs.nums, val)return true
}func (rs *RandomizedSet) Remove(val int) bool {id, ok := rs.indices[val]if !ok {return false}last := len(rs.nums) - 1rs.nums[id] = rs.nums[last]rs.indices[rs.nums[id]] = idrs.nums = rs.nums[:last]delete(rs.indices, val)return true
}func (rs *RandomizedSet) GetRandom() int {return rs.nums[rand.Intn(len(rs.nums))]
}// 作者:力扣官方题解
// 链接:https://leetcode.cn/problems/insert-delete-getrandom-o1/
// 来源:力扣(LeetCode)
// 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
http://www.yayakq.cn/news/398777/

相关文章:

  • 莱州市住房和规划建设管理局网站诗人做的网站
  • 陕西锦宇建设有限公司网站安徽省建设
  • 阿里云做网站买什么企业网站建站系统
  • dw php网站开发书籍云盘嘉兴seo收费
  • 保亭整站优化如何更改wordpress语言
  • 沈阳网站建设 南塔江苏省交通建设局网站首页
  • 请概述网站建设的一般步骤农村自建房设计网站
  • 免费网站使用生成关键词的软件
  • 西山区城市建设局网站免费的seo网站膝
  • 网站建设要注意什么国外设计素材网站
  • 网站上动画视频怎么做的公众号模板wordpress
  • 电子商务网站建设与维护概述wordpress 主题 修改
  • 网站图片太多狗狗俱乐部网页设计教程
  • 贵阳经开区建设管理局网站wordpress 免费餐饮主题
  • 免费建论坛网站网络服务提供者发现未成年通过网络发布
  • 门窗网站建设网页微信二维码不能直接识别
  • 网站qq 微信分享怎么做规模以上工业企业数量
  • 广东省网站备案要多久个人开发网站
  • 甘肃省建设工程网上投标网站目标客户精准营销
  • 网站建设shopify制作本地网页
  • 建好网站后如何向里面加东西天津站内关键词优化
  • 做网站必须要备案吗网站关键词效果追踪怎么做
  • 服务器做网站数据库怎么解决360导航的网站建设
  • 鹰潭北京网站建设设计网站官网有哪些
  • 鼓楼做网站公司哪家好利用淘宝做网站卖货到国外
  • 企业门为什么要建设门户网站中装建设重组消息
  • 沈阳智能模板建站装修公司加盟免费
  • 哪个网站可有做投票搭建个人网站栏目
  • 宁波专业外贸网站建设郑州外贸网站建设及维护
  • 烟台网站制作网站软件程序开发公司