zoukankan      html  css  js  c++  java
  • 12. Integer to Roman

    罗马数字主要特点:

    基本字符
    I
    V
    X
    L
    C
    D
    M
    相应的阿拉伯数字表示为
    1
    5
    10
    50
    100
    500
    1000

    1 基本数字,I,X,C。自身连用构成数目、或者放大在大数的右边连用构成数目、不可以超过三个;放在大数左边不能超过一个

    2 基本数字 V L D 不可以作为小数放在大数左边来作为减数。放在大数的右边采用想家的方式构成数目、只能使用一个

    3 V 和 X 左边小数字只能用 I

    4 L 和 C 左边小数字只能用 X

    5 D 和 M 左边小数字只能用 C

    因此我们可以发现,对于罗马数字的一些划分,可以根据左减原则进行划分

    public class Solution {
        public String intToRoman(int num) {
            String[] strs={"I","IV","V","IX","X","XL","L","XC","C","CD","D","CM","M"};
            int[] ints={1,4,5,9,10,40,50,90,100,400,500,900,1000};
            
            int temp=num;
            String res="";
            int len=strs.length;
            
            while(temp!=0)
            {
                for(int i=len-1;i>=0;)
                {
                    if(temp>=ints[i])
                    {
                        temp-=ints[i];
                        res+=strs[i];
                    }
                    else
                        i--;
                }
            }
            return res;
            
        }
    }
  • 相关阅读:
    面向领域的微服务架构
    java常用工具类
    java字节码解析
    详解 Java 内部类
    MongoDB配置教程
    oracle18c相关
    VBS编辑文件夹下所有excel文档
    oracle新增主键
    sqlldr加载字符问题
    ora-00257
  • 原文地址:https://www.cnblogs.com/aguai1992/p/5348118.html
Copyright © 2011-2022 走看看