算法:号码转换问题
该题太水,没必要参考。

package practice; import java.io.BufferedInputStream; import java.util.Map; import java.util.Scanner; import java.util.TreeMap; /** * @author caiyu * @date 2014-11-2 */ public class MemorableTelNumber { public static void main(String[] args) { Scanner cin = new Scanner(new BufferedInputStream(System.in)); int l = cin.nextInt(); String num; Map<String, Integer> m = new TreeMap<String, Integer>(); StringBuffer c; int tmp; String s; for (int i = 0; i < l; i++) { num = cin.next().trim(); c = new StringBuffer(); for (int j = 0, len = num.length(); j < len; j++) { tmp = handle(num.charAt(j)); if (0 <= tmp && tmp <= 9) c.append(tmp); } if (c.length() == 7) { c.insert(3, "-"); s = c.toString(); if (m.containsKey(s)) m.put(s, m.get(s) + 1); else m.put(s, 1); } } for (String k : m.keySet()) { if (m.get(k) > 1) System.out.println(k + " " + m.get(k)); } } private static int handle(char c) { if (c == 'A' || c == 'B' || c == 'C') return 2; if (c == 'D' || c == 'E' || c == 'F') return 3; if (c == 'G' || c == 'H' || c == 'I') return 4; if (c == 'J' || c == 'K' || c == 'L') return 5; if (c == 'M' || c == 'N' || c == 'O') return 6; if (c == 'P' || c == 'R' || c == 'S') return 7; if (c == 'T' || c == 'U' || c == 'V') return 8; if (c == 'W' || c == 'X' || c == 'Y') return 9; if (c == '-') return -1; return Integer.parseInt("" + c); } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)