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

阿里云网站简单建设wordpress友情链接样式

阿里云网站简单建设,wordpress友情链接样式,百度百科网站怎么做,ui软件题目 设计一个数据结构#xff0c;使如下3个操作的时间复杂度都是O#xff08;1#xff09;。 insert#xff08;value#xff09;#xff1a;如果数据集中不包含一个数值#xff0c;则把它添加到数据集中。remove#xff08;value#xff09;#xff1a;如果数据集…题目 设计一个数据结构使如下3个操作的时间复杂度都是O1。 insertvalue如果数据集中不包含一个数值则把它添加到数据集中。removevalue如果数据集中包含一个数值则把它删除。getRandom()随机返回数据集中的一个数值要求数据集中每个数字被返回的概率都相同。 分析 由于题目要求插入和删除包括判断数据集中是否包含一个数值的时间复杂度都是O1能够同时满足这些时间效率要求的只有哈希表因此这个数据结构要用到哈希表。但是如果只用哈希表则不能等概率地返回其中的每个数值。 如果数值是保存在数组中的那么很容易实现等概率返回数组中的每个数值。假设数组的长度是n那么等概率随机生成从0到n-1的一个数字。如果生成的随机数是i则返回数组中下标为i的数值。由此可以发现需要结合哈希表和数组的特性来设计这个数据容器。 由于数值保存在数组中因此需要知道每个数值在数组中的位置否则在删除的时候就必须顺序扫描整个数组才能找到待删除的数值那就需要On的时间。通常把每个数值在数组中的位置信息保存到一个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 {HashMapInteger, Integer numToLocation;ArrayListInteger 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://www.hkea.cn/news/14452209/

相关文章:

  • 如何免费注册网站平台做网站要多长时间
  • 做网站需学什么条件建设一个网站可以采用那几方案
  • 网站建设 服务器 预算报价清单wordpress首页显示栏目分类
  • 石家庄营销型网站建设公司华为公司邮箱
  • 做驾校题目用什么网站好文字设计图片在线生成
  • 2015微信网站设计陕西网站建设的目的
  • 服务器和网站空间外汇平台 网站开发
  • 个旧云锡建设集团网站h5教程
  • 公司做完网站怎么搜不到沛县互助网站开发
  • 哪里有网站源文件下载青海城乡住房和建设厅网站
  • 微小店网站建设比较好贵州省城市建设厅网站
  • 贵州省省建设厅网站手机在线ps照片处理
  • wordpress 搬站谷歌网址
  • 环保局网站建设 自查报告医院网站建设与管理ppt
  • 企业网站备案注销建设部网站被黑
  • icp ip 网站备案查询系统wordpress改变链接地址
  • 深圳做网站的公司软件工程师招聘
  • 国外网站卖货平台南京做网站南京乐识专心
  • 做网站寄生虫需要哪些东西做网站视频学什么专业
  • c mvc网站做404黄页88网在线
  • 缪斯设计网站10g空间网站做视频网站
  • 常州网站推母婴网站这么做
  • 17网站一起做网店好不好wordpress这
  • 医院网站asp源码久久建筑有限公司
  • 试管婴儿网站建设学做网站论坛 可以吗
  • 网站开发直播软件装修报价单明细表
  • 百度合作的网盟网站一般注册公司要多少钱
  • 腾讯云快速搭建网站西安网吧
  • 腾讯做网站上传做设计兼职的网站
  • 免费发布信息网有哪些网站无锡效果图制作