leetcode电话号码java_【LeetCode(Java) - 379】电话目录管理系统
【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】电话目录管理系统相关推荐
- LeetCode 379. 电话目录管理系统(哈希set)
文章目录 1. 题目 2. 解题 1. 题目 设计一个电话目录管理系统,让它支持以下功能: get: 分配给用户一个未被使用的电话号码,获取失败请返回 -1 check: 检查指定的电话号码是否被使用 ...
- 停车场管理系统 java_使用java编写一个停车场管理系统
使用java编写一个停车场管理系统 发布时间:2020-11-30 16:00:28 来源:亿速云 阅读:145 作者:Leah 这篇文章给大家介绍使用java编写一个停车场管理系统,内容非常详细,感 ...
- leetcode:电话号码的字母组合--java,dfs
给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合. 给出数字到字母的映射如下(与电话按键相同).注意 1 不对应任何字母. 示例: 输入:"23" 输出:[&quo ...
- 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 ...
- 学生公寓管理java_基于JAVA的学生公寓管理系统需要用到那些技术?
如果是前端零基础,那就建议先学下html和css一些常用标签和样式,JavaScript可以了解一下弹窗确认是怎么实现的就行.学完之后就能自己手写一个简单的(丑的)前端页面了. 再学下jsp,学会前端 ...
- 学生档案信息管理系统java_基于JAVA的简单档案管理系统
基于java的档案管理系统 项目技术组成:(Spring+SpringMVC+MyBatis+shiro+vue等等) [if !supportLists]1. [endif]系统管理 [if !su ...
- 《LeetCode力扣练习》第17题 电话号码的字母组合 Java
<LeetCode力扣练习>第17题 电话号码的字母组合 Java 一.资源 题目: 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合.答案可以按 任意顺序 返回. 给出数 ...
- [Leetcode][第17题][JAVA][电话号码的字母组合][回溯]
[问题描述][中等] [解答思路] 用哈希表/数组存储每个数字对应的所有可能的字母,然后进行回溯操作. 回溯过程中维护一个字符串,表示已有的字母排列(如果未遍历完电话号码的所有数字,则已有的字母排列是 ...
- 整数反转leetcode java_【Java】【每日算法/刷穿 LeetCode】7. 整数反转(简单)
首页 专栏 java 文章详情 0 [每日算法/刷穿 LeetCode]7. 整数反转(简单) 宫水三叶发布于 今天 12:10 题目描述 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数 ...
- [Leetcode][第78题][JAVA][子集][位运算][回溯]
[问题描述][中等] [解答思路] 1. 位运算 复杂度 class Solution {List<Integer> t = new ArrayList<Integer>(); ...
最新文章
- 在UI设计中如何正确使用颜色
- 大学教师辞职创业,已向高校捐赠超10亿元!多以个人名义……
- 1.0 mysql的连接
- [ CodeVS冲杯之路 ] P3116
- c语言jt808协议库,平台如何应答——关于JT/T808协议
- Linux下调整根目录的空间大小教程
- 托马斯微积分和微积分学教程_为什么微积分很重要
- 经典数据库sql查询50题
- UE4 Datasmith 材质
- 更新!2021智能仓储物流之最全AGV企业供应商名录
- 常用git命令指南总结
- python递归函数
- Teradata:数据可视化与模型优化相辅相成
- crontab: error renaming解决方法
- SCQA结构化表达--提升沟通效果
- noip2016模拟赛day7
- 关于R语言中的恒等==解释
- 如何获取网页上的图片
- 如何在路由器上刷DD-WRT固件
- 移动端页面构建需注意?
热门文章
- vue+barcode实现扫一扫功能
- 使用echarts画设备拓扑图
- CF364D Ghd(随机化)
- 崩溃,执行DELETE没加WHERE条件,该怎么办?
- pr中的字幕、关键帧动画以及声音的处理
- ps中怎么调整字体间距
- 直播一小时营收破百万!虚拟主播说英文在B站疯狂吸金,背后企划公司IPO作价23亿...
- PCA、最小平方差等中用拉格朗日求极值时对常见的一个f(x)=X'A'AX求导的证明
- 汽车行业常见术语英文缩写(持续更新...)
- 【Blender】三维建模介绍及Blender入门