算法:号码转换问题

 

该题太水,没必要参考。

 

复制代码
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);
    }
}
View Code
复制代码

 

posted @   荒土  阅读(311)  评论(0编辑  收藏  举报
编辑推荐:
· 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)
点击右上角即可分享
微信分享提示