【LeetCode(Java) - 379】电话目录管理系统

【LeetCode(Java) - 379】电话目录管理系统

文章目录

1、题目描述

2、解题思路

3、解题代码

1、题目描述

2、解题思路

??题目的构造器是输入一个 int 类型数字,则电话号码指的是:0、1、…、n-1 这些数字。

??定义一个布尔类型的数组 phone[],容量为电话号码数量,这个数组的索引就是电话号码,值为 true 表示可未被使用,值为 false 表示已被使用;

??1、get: 遍历 phone[],返回第一个值为 true 的索引;

??2、check:先 phone[i] = false,再返回 phone[i];

??3、release:phone[i] = true。

3、解题代码

class PhoneDirectory {

/** Initialize your data structure here

@param maxNumbers - The maximum numbers that can be stored in the phone directory. */

private boolean[] phone;

private int size;

public PhoneDirectory(int maxNumbers) {

this.size = maxNumbers;

phone = new boolean[maxNumbers];

Arrays.fill(phone, true); // true 表示可以使用

}

/**

* 分配给用户一个未被使用的电话号码,获取失败请返回 -1.

*/

public int get() {

for (int i = 0; i < size; i++) {

if (phone[i]) {

phone[i] = false;

return i;

}

}

return -1;

}

/**

* 检查指定的电话号码是否被使用.

*/

public boolean check(int number) {

return phone[number];

}

/**

* 释放掉一个电话号码,使其能够重新被分配.

*/

public void release(int number) {

phone[number] = true;

}

}

/**

* Your PhoneDirectory object will be instantiated and called as such:

* PhoneDirectory obj = new PhoneDirectory(maxNumbers);

* int param_1 = obj.get();

* boolean param_2 = obj.check(number);

* obj.release(number);

*/

【LeetCode(Java) - 379】电话目录管理系统相关教程

leetcode电话号码java_【LeetCode(Java) - 379】电话目录管理系统相关推荐

  1. LeetCode 379. 电话目录管理系统(哈希set)

    文章目录 1. 题目 2. 解题 1. 题目 设计一个电话目录管理系统,让它支持以下功能: get: 分配给用户一个未被使用的电话号码,获取失败请返回 -1 check: 检查指定的电话号码是否被使用 ...

  2. 停车场管理系统 java_使用java编写一个停车场管理系统

    使用java编写一个停车场管理系统 发布时间:2020-11-30 16:00:28 来源:亿速云 阅读:145 作者:Leah 这篇文章给大家介绍使用java编写一个停车场管理系统,内容非常详细,感 ...

  3. leetcode:电话号码的字母组合--java,dfs

    给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合. 给出数字到字母的映射如下(与电话按键相同).注意 1 不对应任何字母. 示例: 输入:"23" 输出:[&quo ...

  4. leetcode combinations java_[LeetCode][Java] Combinations

    题目: Given two integers n and k, return all possible combinations of k numbers out of 1 ... n. For ex ...

  5. 学生公寓管理java_基于JAVA的学生公寓管理系统需要用到那些技术?

    如果是前端零基础,那就建议先学下html和css一些常用标签和样式,JavaScript可以了解一下弹窗确认是怎么实现的就行.学完之后就能自己手写一个简单的(丑的)前端页面了. 再学下jsp,学会前端 ...

  6. 学生档案信息管理系统java_基于JAVA的简单档案管理系统

    基于java的档案管理系统 项目技术组成:(Spring+SpringMVC+MyBatis+shiro+vue等等) [if !supportLists]1. [endif]系统管理 [if !su ...

  7. 《LeetCode力扣练习》第17题 电话号码的字母组合 Java

    <LeetCode力扣练习>第17题 电话号码的字母组合 Java 一.资源 题目: 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合.答案可以按 任意顺序 返回. 给出数 ...

  8. [Leetcode][第17题][JAVA][电话号码的字母组合][回溯]

    [问题描述][中等] [解答思路] 用哈希表/数组存储每个数字对应的所有可能的字母,然后进行回溯操作. 回溯过程中维护一个字符串,表示已有的字母排列(如果未遍历完电话号码的所有数字,则已有的字母排列是 ...

  9. 整数反转leetcode java_【Java】【每日算法/刷穿 LeetCode】7. 整数反转(简单)

    首页 专栏 java 文章详情 0 [每日算法/刷穿 LeetCode]7. 整数反转(简单) 宫水三叶发布于 今天 12:10 题目描述 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数 ...

  10. [Leetcode][第78题][JAVA][子集][位运算][回溯]

    [问题描述][中等] [解答思路] 1. 位运算 复杂度 class Solution {List<Integer> t = new ArrayList<Integer>(); ...

最新文章

  1. 在UI设计中如何正确使用颜色
  2. 大学教师辞职创业,已向高校捐赠超10亿元!多以个人名义……
  3. 1.0 mysql的连接
  4. [ CodeVS冲杯之路 ] P3116
  5. c语言jt808协议库,平台如何应答——关于JT/T808协议
  6. Linux下调整根目录的空间大小教程
  7. 托马斯微积分和微积分学教程_为什么微积分很重要
  8. 经典数据库sql查询50题
  9. UE4 Datasmith 材质
  10. 更新!2021智能仓储物流之最全AGV企业供应商名录
  11. 常用git命令指南总结
  12. python递归函数
  13. Teradata:数据可视化与模型优化相辅相成
  14. crontab: error renaming解决方法
  15. SCQA结构化表达--提升沟通效果
  16. noip2016模拟赛day7
  17. 关于R语言中的恒等==解释
  18. 如何获取网页上的图片
  19. 如何在路由器上刷DD-WRT固件
  20. 移动端页面构建需注意?

热门文章

  1. vue+barcode实现扫一扫功能
  2. 使用echarts画设备拓扑图
  3. CF364D Ghd(随机化)
  4. 崩溃,执行DELETE没加WHERE条件,该怎么办?
  5. pr中的字幕、关键帧动画以及声音的处理
  6. ps中怎么调整字体间距
  7. 直播一小时营收破百万!虚拟主播说英文在B站疯狂吸金,背后企划公司IPO作价23亿...
  8. PCA、最小平方差等中用拉格朗日求极值时对常见的一个f(x)=X'A'AX求导的证明
  9. 汽车行业常见术语英文缩写(持续更新...)
  10. 【Blender】三维建模介绍及Blender入门