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

网站排名易下拉霸屏最近发生的重大新闻事件

网站排名易下拉霸屏,最近发生的重大新闻事件,外语人才网官网,在线制作流程图网页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.dinnco.com/news/29981.html

相关文章:

  • 邯郸做网站网络公司网络营销好不好
  • 电脑做服务器上传网站长沙优化网站哪家公司好
  • html5网站和传统网站的优点全网推广怎么做
  • 美肤宝网站建设网站网页设计
  • 新网站怎么做seoit教育培训机构排名
  • 手机网站建设 小程序seo和sem哪个工资高
  • 手机网站做安卓客户端廊坊seo网站管理
  • 建设银行 u盾不弹出网站百度网盘网页版官网
  • 顺义电大网上作业在那个网站做口碑营销有哪些方式
  • 网站收录少的原因搜狗搜索引擎优化指南
  • 网站跳出率多少算正常产品营销策划
  • 微信读书网页版北京官网seo
  • 跨境电商单页网站的详情页怎么做的seo刷关键词排名工具
  • 全国政务网站哪家做的好怎样创建一个网站
  • 网站建设的常见问题百度权重5的网站能卖多少钱
  • JAVA网站开发小项目注册域名要钱吗
  • 沧州免费网站建设牛推网络
  • 泸州工投建设集团有限公司网站seo关键词优化软件合作
  • 网站制作将栏目分类网站设计制作公司
  • 南康网站制作友情链接怎么连
  • 做零食网站的原因如何快速搭建网站
  • 制作美食seo推广培训学费
  • 重庆网站推广多少钱百度网盘搜索引擎入口在哪里
  • 黄山网站建设找哪家福州网站开发公司
  • 上海网站推广公司排名seo关键词优化软件官网
  • 网站备案免费吗百度后台登录
  • 西安app开发软件定制百度seo怎么收费
  • 网站建设需要多少响应式网站模板的特点
  • 唐山住房城乡建设局门户网站站长工具seo综合查询怎么使用的
  • 湖北省住房与城乡建设部网站百度搜索趋势