zoukankan      html  css  js  c++  java
  • Integer To Roman leetcode java

    问题描述:

    Given an integer, convert it to a roman numeral.

    Input is guaranteed to be within the range from 1 to 3999.

    分析:

    /**
    * 将一个Integer数字转换为罗马数字,范围 1-3999
    * integer数据与罗马数字之间的对应关系,列举出来,建立一个二维数组
    * 1~9: {"I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX"};

    10~90: {"X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC"};

    100~900: {"C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM"};

    1000~3000: {"M", "MM", "MMM"}.
    */

    算法:

    /**
    * int 类型数字转换为罗马数字
    * @param num
    * @return
    */
    public static String intToRoman(int num){
    
        //注意给0设置 "",罗马数字中不存在0的对应
        String[][] iTor = {
          {"", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX"},//0,1-9
          {"", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC"},//0,10-90
          {"", "C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM"},//0,100-900
          {"", "M", "MM", "MMM"}//0,1000-3000
        };
      String roman = "";
      int d = 0;
      while(num != 0){
        int pos = num % 10;
        roman = iTor[d][pos] + roman; //注意字符串拼接的顺序
        d++;
        num = num / 10;
      }
      return roman;
    }
  • 相关阅读:
    服务详解网址
    WCF、WebAPI、WCFREST、WebService之间的区别
    ql常见面试题 受用了
    用VSCode写python的正确姿势
    C#集合类型大盘点
    ASP.NET Web API 创建帮助页
    C#中IEnumerable、ICollection、IList、List之间的区别
    [WCF REST] 一个简单的REST服务实例
    sql存储过程算法
    oracle 存储过程
  • 原文地址:https://www.cnblogs.com/mydesky2012/p/5035454.html
Copyright © 2011-2022 走看看