找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

微信名称:美国米群网

微 信 号:MeetQun

微信QQ:群: 320065698

查看: 267|回复: 3
收起左侧

[刷题记录板] 379. Design Phone Directory

[复制链接]

23

主题

0

精华

28

积分

新米人

Rank: 1

积分
28
发表于 11-29-2016 05:20 AM | 显示全部楼层 |阅读模式

亲!马上注册或者登录会查看更多内容!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
  1. public class PhoneDirectory {
  2.     Set<Integer> used;
  3.     Queue<Integer> queue;
  4.     int max;
  5.     /** Initialize your data structure here
  6.         @param maxNumbers - The maximum numbers that can be stored in the phone directory. */
  7.     public PhoneDirectory(int maxNumbers) {
  8.         used = new LinkedHashSet<>();
  9.         queue = new LinkedList<>();
  10.         for (int i=0;i<maxNumbers;i++){
  11.             queue.add(i);
  12.         }
  13.         max=maxNumbers;
  14.     }
  15.    
  16.     /** Provide a number which is not assigned to anyone.
  17.         @return - Return an available number. Return -1 if none is available. */
  18.     public int get() {
  19.         if (queue.size()==0) return -1;
  20.         int res = queue.poll();
  21.         used.add(res);
  22.         return res;
  23.     }
  24.    
  25.     /** Check if a number is available or not. */
  26.     public boolean check(int number) {
  27.         if (number<0 || number>=max) return false;
  28.         return !used.contains(number);
  29.     }
  30.    
  31.     /** Recycle or release a number. */
  32.     public void release(int number) {

  33.         
  34.          if (used.remove(number)) {
  35.              queue.add(number);
  36.          }
  37.     }
  38. }
复制代码

0

主题

0

精华

7

积分

新米人

Rank: 1

积分
7
发表于 11-29-2016 05:20 AM 来自美国米群网手机版 | 显示全部楼层
感谢taoqi610分享~~~
回复 支持 反对

使用道具 举报

0

主题

0

精华

15

积分

新米人

Rank: 1

积分
15
发表于 12-1-2016 03:17 PM | 显示全部楼层
感谢taoqi610分享~~~
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表