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;
            
        }
    }
  • 相关阅读:
    LINUX 内核守护进程
    LINUX 内核 API
    LINUX IO 图解
    doxygen
    xtrace
    Dapper-translation 分布式监控系统
    矩表
    最流行的5个前端框架对比
    2017年前端框架、类库、工具大比拼
    Top 10 JavaScript编辑器,你在用哪个?
  • 原文地址:https://www.cnblogs.com/aguai1992/p/5348118.html
Copyright © 2011-2022 走看看