解题(ConflictPhoneNumber--冲突的电话号码)
题目描述
1.小王:600
2.小李:467654
3.小张:600010
输入600时,手机会直接自动打给了小王,因此永远没法打给小张。现在有很多部手机都有这种问题,<span>nowcoder</span>想要找到一个办法来判断每个号码簿里的号码是不是有这种冲突。
输入描述:
输入有多组数据。 每组数据第一行是一个整数n,(1≤n≤10000)。 紧接着有n行电话号码,号码只有数字组成,长度不超过11位。
输出描述:
对应每组输入,有一行输出:如果电话簿中存在冲突的号码,就输出“Yes”;否则输出“No”。
输出
Yes
No
代码如下:
package com.yzh.xuexi; import java.util.Arrays;
import java.util.Scanner; public class ConflictPhoneNumber { public static void main(String[] args) {
Scanner scanner =new Scanner(System.in);
while(scanner.hasNext()){
int n=Integer.valueOf(scanner.nextLine());
String[] arr=new String[n];
for (int i = 0; i < arr.length; i++) {
arr[i]=scanner.nextLine();
}
System.out.println(conflictPhoneNumber(arr));
}
scanner.close(); } //也可用字典树解决
private static String conflictPhoneNumber(String[] arr) {
Arrays.sort(arr);//利用Arrays内置sort()函数对字符串按默认规则从小到大排序(也可以自己实现快排、希尔排序、归并排序和堆排序等n㏒n复杂度排序方法降低整个算法的复杂度)
//字符串从小到大排序后,只有相邻的两个字符串可能存在第二个字符串以第一个字符串开头的关系
for(int i=1;i<arr.length ;i++){
if (arr[i].indexOf(arr[i-1])==0) {
return "YES";
}
}
return "NO";
} }
解题(ConflictPhoneNumber--冲突的电话号码)的更多相关文章
- ACM -- 算法小结(七)Phone list解题报告
HDOJ -- Phone list解题报告 问题描述:给出一些电话号码,如果有共同前缀则输出NO,如果没有则输出YES. 解题关键:将电话号码进行字符串排序,相邻的电话号码进行比较 Sa ...
- 洛谷 P3396 哈希冲突 解题报告
P3396 哈希冲突 题目背景 此题约为NOIP提高组Day2T2难度. 题目描述 众所周知,模数的hash会产生冲突.例如,如果模的数p=7,那么4和11便冲突了. B君对hash冲突很感兴趣.他会 ...
- 假如现在有一堆长度大于3小于9的电话号码,用座机呼叫,如果出现这样的号码【123和12345】那么12345将永远不会被拨出,因为拨到123的时候电话已经呼出了,试写一个函数输出所有不能被呼出的电话号码(java实现)
解题: 假如现在有一堆长度大于3小于9的电话号码,用座机呼叫,如果出现这样的号码[123和12345]那么12345将永远不会被拨出,因为拨到123的时候电话已经呼出了,试写一个函数输出所有不能被呼出 ...
- NOIP2004 解题报告
第一题:津津的零花钱一直都是自己管理.每个月的月初妈妈给津津300元钱,津津会预算这个月的花销,并且总能做到实际花销和预算的相同. 为了让津津学习如何储蓄,妈妈提出,津津可以随时把整百的钱存在她那里, ...
- NOIP2010解题报告
今天状态不错..1个小时AC了前3题,第四题第一次也拿到了80%的分数,后来换了算法才拿到全部分数.. 第一题: 小晨的电脑上安装了一个机器翻译软件,他经常用这个软件来翻译英语文章. 这个翻译软件的原 ...
- lintcode 中等题:Letter Combinations of a Phone Number 电话号码的字母组合
题目 电话号码的字母组合 给一个数字字符串,每个数字代表一个字母,请返回其所有可能的字母组合. 下图的手机按键图,就表示了每个数字可以代表的字母. 样例 给定 "23" 返回 [& ...
- POJ-1002 解题报告
1.题目描述 http://poj.org/problem?id=1002 2.解题过程 按部就班来解题的话,这个题目很容易写出来,这是我的第一个版本的代码,思路是读入一行电话字符串,均转化为整型 ...
- POJ 2002 Squares 解题报告(哈希 开放寻址 & 链式)
经典好题. 题意是要我们找出所有的正方形.1000点,只有枚举咯. 如图,如果我们知道了正方形A,B的坐标,便可以推测出C,D两点的坐标.反之,遍历所有点作为A,B点,看C,D点是否存在.存在的话正方 ...
- NYOJ 14 贪心解题报告
会场安排问题 时间限制:3000 ms | 内存限制:65535 KB 难度:4 描述 学校的小礼堂每天都会有许多活动,有时间这些活动的计划时间会发生冲突,需要选择出一些活动进行举办.小刘的工 ...
随机推荐
- C#遍历枚举中所有值
public enum EnumColor { 红色=1, 黑色=2, 白色=3 } foreach (EnumColor item in Enum.GetValues(typeof(EnumColo ...
- 内存泄漏学习案例-1-ArrayList
解决 内存泄漏 于是赶快登陆探测服务器,首先是 top free df 三连,结果还真发现了些异常. 我们的探测进程 CPU 占用率特别高,达到了 900%. 我们的 Java 进程,并不做大量 CP ...
- mongodb shell 运行js脚本的四种方式
1. 交互式 mongo shell 大部分的 mongodb 教程,在第一章都会讲解这种方式. mongo 127.0.0.1:27017 use test db.users.findOne() ...
- 【Windows 7】发现一个奇怪的现象
最近在Windows7-32位操作系统上发现一个奇怪的现象,不知道64位操作系统上会不会发生这个现象.这个现象就是:如果系统上的一个或多个账户没有设置密码,那么在此条件下终止winlogon.exe进 ...
- (转)SQLServer_十步优化SQL Server中的数据访问 三
原文地址:http://tech.it168.com/a2009/1125/814/000000814758_all.shtml 第六步:应用高级索引 实施计算列并在这些列上创建索引 你可能曾经写过从 ...
- spring静态注入
与其说是静态注入(IOC),不如讲是对JavaBean 的静态成员变量进行赋值. 一般我们在使用依赖注入的时候,如果当前对象(javaBean )创建(实例化)一次,那么非静态的成员变量也会实例化一次 ...
- Centos6、7下安装Nginx的两种方法
一,通过yum命令安装 1.操作系统版本的确认很重要,因为下一步我们要依靠这个来创建yum源文件 2.创建 nginx.repo vi /etc/yum.repos.d/nginx.repo 文件内容 ...
- 用ASP.NET_Regsql.exe创建Session数据库
CMD: C:\Users\ZhangSC>C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regsql.exe -S ZhangS ...
- python-day4装饰器、生成器、迭代器、内置方法、序列化、软件目录
@生成器generator a=(i*2 for i in range(10)) a.__next__()#等同于next(a),基本都不用,多用for循环a.send(m)#将m传为yield的值 ...
- 判断IOS、Android访问
/*判断手机访问是Android还是IOS*/ $user_agent = $_SERVER['HTTP_USER_AGENT']; if(stripos($user_agent, "iPh ...