博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
leetcode — integer-to-roman
阅读量:6922 次
发布时间:2019-06-27

本文共 1698 字,大约阅读时间需要 5 分钟。

/** * Source : https://oj.leetcode.com/problems/integer-to-roman/ * * Created by lverpeng on 2017/7/10. * * Given an integer, convert it to a roman numeral. * * Input is guaranteed to be within the range from 1 to 3999. * */public class IntegerToRoman {    private static final int[] value = new int[] {1000,900,500,400, 100, 90,  50, 40,  10, 9,   5,  4,   1};    private static final String[] symbol = new String[] {"M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"};    /**     * 罗马数字只有1、5、10、50、100、500、1000,将integer从左到右循环,num大于当前的罗马符号的时候减1,直到小于当前罗马符号的时候进行下一次循环     * 特殊情况,4、9、40、90、400、900也需要加入符号表考虑     *     * @param num     * @return     */    public String integerToRoamn (int num) {        if (num < 1 || num > 3999) {            return null;        }        String roman = "";        for (int i = 0; num != 0; i++ ) {            while (num >= value[i]) {                num = num - value[i];                roman += symbol[i];            }        }        return roman;    }    public static void main(String[] args) {        IntegerToRoman integerToRoman = new IntegerToRoman();        System.out.println(integerToRoman.integerToRoamn(1000) + "------M");        System.out.println(integerToRoman.integerToRoamn(1038) + "------MXXXVIII");        System.out.println(integerToRoman.integerToRoamn(1) + "------I");        System.out.println(integerToRoman.integerToRoamn(2) + "------II");        System.out.println(integerToRoman.integerToRoamn(3) + "------III");        System.out.println(integerToRoman.integerToRoamn(4) + "------IV");        System.out.println(integerToRoman.integerToRoamn(3094) + "------MMMXCIV");    }}

转载于:https://www.cnblogs.com/sunshine-2015/p/7291837.html

你可能感兴趣的文章
navicat 连接阿里云RDS的设置
查看>>
CentOS7 搭建 禅道项目管理服务
查看>>
AlphaGo Zero到底是怎么学习成为了无敌的存在?
查看>>
给人工智能「好奇心」会变成什么样?答案不出所料
查看>>
在linux下安装软件
查看>>
Java的新项目学成在线笔记-day4(六)
查看>>
Jmeter4.0源码二次开发详细分析解读(一)
查看>>
Java各种IO流的总结
查看>>
从手淘搜索到优酷短视频,阿里巴巴是如何在搜索推荐领域下应用深度学习的?...
查看>>
程序员,不甘平凡又害怕努力…
查看>>
基于BC实现的(JAVA版)SM2国密算法签名验签DEMO
查看>>
分布式缓存架构设计
查看>>
初学者学习arm嵌入式有什么好的建议?嵌入式开发学习
查看>>
经验分享:如何合并pdf文件
查看>>
到底该怎么理解平均负载
查看>>
文件特殊权限
查看>>
Oracle 高水位线
查看>>
Oracle 数据库QUIESCE状态详解
查看>>
oracle 10g数据泵和导入导出性能对比(二)
查看>>
ORACLE SQL语句优化
查看>>