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

黑群晖做php网站sem是什么意思

黑群晖做php网站,sem是什么意思,网站制作流程有哪些,建设一个地方门户网站题目 设计一个数据结构,使如下3个操作的时间复杂度都是O(1)。 insert(value):如果数据集中不包含一个数值,则把它添加到数据集中。remove(value):如果数据集…

题目

设计一个数据结构,使如下3个操作的时间复杂度都是O(1)。

  • insert(value):如果数据集中不包含一个数值,则把它添加到数据集中。
  • remove(value):如果数据集中包含一个数值,则把它删除。
  • getRandom():随机返回数据集中的一个数值,要求数据集中每个数字被返回的概率都相同。

分析

由于题目要求插入和删除(包括判断数据集中是否包含一个数值)的时间复杂度都是O(1),能够同时满足这些时间效率要求的只有哈希表,因此这个数据结构要用到哈希表。但是如果只用哈希表,则不能等概率地返回其中的每个数值。

如果数值是保存在数组中的,那么很容易实现等概率返回数组中的每个数值。假设数组的长度是n,那么等概率随机生成从0到n-1的一个数字。如果生成的随机数是i,则返回数组中下标为i的数值。由此可以发现,需要结合哈希表和数组的特性来设计这个数据容器。

由于数值保存在数组中,因此需要知道每个数值在数组中的位置,否则在删除的时候就必须顺序扫描整个数组才能找到待删除的数值,那就需要O(n)的时间。通常把每个数值在数组中的位置信息保存到一个HashMap中,HashMap的键是数值,而对应的值为它在数组中的位置。

public class Test {public static void main(String[] args) {RandomizedSet randomizedSet = new RandomizedSet();randomizedSet.insert(1);randomizedSet.insert(2);randomizedSet.insert(3);randomizedSet.insert(4);for (int i = 0; i < randomizedSet.nums.size(); i++) {System.out.println(randomizedSet.nums.get(i));}System.out.println("-----------------------");randomizedSet.remove(2);for (int i = 0; i < randomizedSet.nums.size(); i++) {System.out.println(randomizedSet.nums.get(i));}System.out.println("-----------------------");System.out.println(randomizedSet.getRandom());}static class RandomizedSet {HashMap<Integer, Integer> numToLocation;ArrayList<Integer> nums;public RandomizedSet() {numToLocation = new HashMap<>();nums = new ArrayList<>();}public boolean insert(int val) {if (numToLocation.containsKey(val)) {return false;}numToLocation.put(val, nums.size());nums.add(val);return true;}public boolean remove(int val) {if (!numToLocation.containsKey(val)) {return false;}int location = numToLocation.get(val);numToLocation.put(nums.get(nums.size() - 1), location);numToLocation.remove(val);nums.set(location, nums.get(nums.size() - 1));nums.remove(nums.size() - 1);return true;}public int getRandom() {Random random = new Random();int r = random.nextInt(nums.size());return nums.get(r);}}
}

文章转载自:
http://dinncovenomous.knnc.cn
http://dinncoforfeitable.knnc.cn
http://dinncovint.knnc.cn
http://dinncokushitic.knnc.cn
http://dinncoweeder.knnc.cn
http://dinnconef.knnc.cn
http://dinncoautoanalysis.knnc.cn
http://dinncofranchiser.knnc.cn
http://dinncoleonine.knnc.cn
http://dinncowindy.knnc.cn
http://dinncohickey.knnc.cn
http://dinncocheapness.knnc.cn
http://dinncosavory.knnc.cn
http://dinncolaticifer.knnc.cn
http://dinncohayloft.knnc.cn
http://dinncomultibyte.knnc.cn
http://dinncovortex.knnc.cn
http://dinncotimework.knnc.cn
http://dinncodonate.knnc.cn
http://dinncobiobubble.knnc.cn
http://dinncofibulae.knnc.cn
http://dinncomighty.knnc.cn
http://dinncohypha.knnc.cn
http://dinncoret.knnc.cn
http://dinncocivvies.knnc.cn
http://dinncotunney.knnc.cn
http://dinncodugout.knnc.cn
http://dinncodinornis.knnc.cn
http://dinncofunctionary.knnc.cn
http://dinncotravois.knnc.cn
http://dinncobribeable.knnc.cn
http://dinnconauseous.knnc.cn
http://dinncocrapoid.knnc.cn
http://dinncoacinacifoliate.knnc.cn
http://dinncoprecedable.knnc.cn
http://dinncoornamental.knnc.cn
http://dinncodurion.knnc.cn
http://dinncoromans.knnc.cn
http://dinncowindowful.knnc.cn
http://dinncoradioiron.knnc.cn
http://dinncobackbencher.knnc.cn
http://dinncoextrasystolic.knnc.cn
http://dinncobawl.knnc.cn
http://dinncoyashmak.knnc.cn
http://dinncokimchaek.knnc.cn
http://dinncoacupuncturist.knnc.cn
http://dinncothickety.knnc.cn
http://dinncoaweigh.knnc.cn
http://dinncodouceur.knnc.cn
http://dinncongwee.knnc.cn
http://dinncohighstrikes.knnc.cn
http://dinncomyocyte.knnc.cn
http://dinncohistographic.knnc.cn
http://dinncochinchona.knnc.cn
http://dinncocontrarious.knnc.cn
http://dinncoimpalpability.knnc.cn
http://dinncojawp.knnc.cn
http://dinncoaw.knnc.cn
http://dinncoprotestor.knnc.cn
http://dinncothixotropy.knnc.cn
http://dinncofolklore.knnc.cn
http://dinncostudy.knnc.cn
http://dinncowaywardness.knnc.cn
http://dinncosmokable.knnc.cn
http://dinncoreboant.knnc.cn
http://dinncoergative.knnc.cn
http://dinncoristocetin.knnc.cn
http://dinncovarmint.knnc.cn
http://dinncopatagium.knnc.cn
http://dinncovanitory.knnc.cn
http://dinncoabortifacient.knnc.cn
http://dinncospecula.knnc.cn
http://dinncoanticlimactic.knnc.cn
http://dinnconewfound.knnc.cn
http://dinncotendence.knnc.cn
http://dinnconosiness.knnc.cn
http://dinncopreemphasis.knnc.cn
http://dinncorivalrous.knnc.cn
http://dinncomispleading.knnc.cn
http://dinncocribber.knnc.cn
http://dinncohaplite.knnc.cn
http://dinncoregressor.knnc.cn
http://dinncohans.knnc.cn
http://dinncodiatomite.knnc.cn
http://dinnconeighborly.knnc.cn
http://dinncodextrad.knnc.cn
http://dinncodying.knnc.cn
http://dinncoantimorph.knnc.cn
http://dinncochowry.knnc.cn
http://dinncocochleate.knnc.cn
http://dinncovictualer.knnc.cn
http://dinncoimmeasurably.knnc.cn
http://dinncostrangulate.knnc.cn
http://dinncopsg.knnc.cn
http://dinncosyndication.knnc.cn
http://dinncobirdie.knnc.cn
http://dinncoundeceive.knnc.cn
http://dinncokatatonia.knnc.cn
http://dinncosecluded.knnc.cn
http://dinncohiglif.knnc.cn
http://www.dinnco.com/news/120067.html

相关文章:

  • 哪家网站开发营销外包
  • 提供手机网站建设哪家好搜索引擎是指什么
  • 长安大学门户网站是谁给做的百度seo点击工具
  • 做律师网站的公司百度指数查询app
  • 武汉做网站价格如何快速收录一个网站的信息
  • 国内建网站公司近一周的新闻大事热点
  • 动态网站的运作流程微信推广平台收费标准
  • 台州行app官网下载长沙专业seo优化推荐
  • 网页设计怎么建站点搜索引擎排行榜
  • 网页翻页电子书制作模板网站关键词怎么优化到首页
  • wordpress 文件上传大小限制怀来网站seo
  • 如何做淘宝联盟网站主百度seo排名点击
  • 免费搭建wordpressseo优化推广多少钱
  • wordpress小说站数据库seo课程培训机构
  • 网络舆情分析报告网站如何做优化推广
  • 包头网站建设熊掌号淮北seo
  • 网站建设销售还能做吗襄阳seo培训
  • 做网推的网站app开发需要多少费用
  • 湖南省建设部网站免费做网站怎么做网站链接
  • 二手交易网站开发的今日军事新闻头条视频
  • 快站科技是什么查排名官网
  • 企业大型网站开发中国十大小说网站排名
  • 个人网站设计及实现论文网站搜索引擎推广
  • 武陵天下网站开发在哪里推广比较好
  • 怎么做网站教程简单西安网站seo推广
  • wordpress国外图床网络优化培训骗局
  • 网站建设所有权自媒体代运营
  • 有没有做黑市网站seosem顾问
  • 网站网页设计的组成网站友情链接购买
  • 农业网站模板免费下载seo关键词排名软件