Java实现LeetCode_0012_IntegerToRoman
package javaLeetCode.primary;
import java.util.Scanner;
public class IntegerToRoman_12 {
public static void main(String[] args) {
System.out.println("Please input a integer:");
@SuppressWarnings("resource")
Scanner input = new Scanner(System.in);
int num = input.nextInt();
System.out.println(intToRoman_2(num));
}// end main()
/*
* Test Data:
* III--3
* IV--4
* IX--9
* LVIII--58
* MCMXCIV--1994
* MCCCXIV--1314
* MMMIX--3009
* MMMCCXLIX--3249
*/
public static String intToRoman_1(int num) {
String []roman = {"M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","III","II","I"};
int []integer = {1000,900,500,400,100,90,50,40,10,9,5,4,3,2,1};
String str="";
for(;num>0;) {
for(int i=0;i<15;i++) {
if(num>=integer[i]) {
num -= integer[i];
str += roman[i];
break;
}else {
continue;
}//end if
}//end for
}//end for
return str;
}//end intToRoman()
/**
* Use the simplest method.
* */
public static String intToRoman_2(int num) {
String str="";
int a = num/1000;
int b = num%1000/100;
int c = num%100/10;
int d = num%10;
//Enumerate each possible value
if(a==0) {str+="";}
if(a==1) {str+="M";}
if(a==2) {str+="MM";}
if(a==3) {str+="MMM";}
if(b==0) {str+="";}
if(b==1) {str+="C";}
if(b==2) {str+="CC";}
if(b==3) {str+="CCC";}
if(b==4) {str+="CD";}
if(b==5) {str+="D";}
if(b==6) {str+="DC";}
if(b==7) {str+="DCC";}
if(b==8) {str+="DCCC";}
if(b==9) {str+="CM";}
if(c==0) {str+="";}
if(c==1) {str+="X";}
if(c==2) {str+="XX";}
if(c==3) {str+="XXX";}
if(c==4) {str+="XL";}
if(c==5) {str+="L";}
if(c==6) {str+="LX";}
if(c==7) {str+="LXX";}
if(c==8) {str+="LXXX";}
if(c==9) {str+="XC";}
if(d==0) {str+="";}
if(d==1) {str+="I";}
if(d==2) {str+="II";}
if(d==3) {str+="III";}
if(d==4) {str+="IV";}
if(d==5) {str+="V";}
if(d==6) {str+="VI";}
if(d==7) {str+="VII";}
if(d==8) {str+="VIII";}
if(d==9) {str+="IX";}
return str;
}//end intToRoman()
}//end IntegerToRoman_12
Java实现LeetCode_0012_IntegerToRoman的更多相关文章
- Spark案例分析
一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...
- 故障重现(内存篇2),JAVA内存不足导致频繁回收和swap引起的性能问题
背景起因: 记起以前的另一次也是关于内存的调优分享下 有个系统平时运行非常稳定运行(没经历过大并发考验),然而在一次活动后,人数并发一上来后,系统开始卡. 我按经验开始调优,在每个关键步骤的加入如 ...
- Elasticsearch之java的基本操作一
摘要 接触ElasticSearch已经有一段了.在这期间,遇到很多问题,但在最后自己的不断探索下解决了这些问题.看到网上或多或少的都有一些介绍ElasticSearch相关知识的文档,但个人觉得 ...
- 论:开发者信仰之“天下IT是一家“(Java .NET篇)
比尔盖茨公认的IT界领军人物,打造了辉煌一时的PC时代. 2008年,史蒂夫鲍尔默接替了盖茨的工作,成为微软公司的总裁. 2013年他与微软做了最后的道别. 2013年以后,我才真正看到了微软的变化. ...
- 故障重现, JAVA进程内存不够时突然挂掉模拟
背景,服务器上的一个JAVA服务进程突然挂掉,查看产生了崩溃日志,如下: # Set larger code cache with -XX:ReservedCodeCacheSize= # This ...
- 死磕内存篇 --- JAVA进程和linux内存间的大小关系
运行个JAVA 用sleep去hold住 package org.hjb.test; public class TestOnly { public static void main(String[] ...
- 【小程序分享篇 一 】开发了个JAVA小程序, 用于清除内存卡或者U盘里的垃圾文件非常有用
有一种场景, 手机内存卡空间被用光了,但又不知道哪个文件占用了太大,一个个文件夹去找又太麻烦,所以我开发了个小程序把手机所有文件(包括路径下所有层次子文件夹下的文件)进行一个排序,这样你就可以找出哪个 ...
- Java多线程基础学习(二)
9. 线程安全/共享变量——同步 当多个线程用到同一个变量时,在修改值时存在同时修改的可能性,而此时该变量只能被赋值一次.这就会导致出现“线程安全”问题,这个被多个线程共用的变量称之为“共享变量”. ...
- Java多线程基础学习(一)
1. 创建线程 1.1 通过构造函数:public Thread(Runnable target, String name){} 或:public Thread(Runnable target ...
随机推荐
- [CodeForces 300D Painting Square]DP
http://codeforces.com/problemset/problem/300/D 题意:每一次操作可以选一个正方形,令边长为n,如果n为奇数那么可以从中间画一个十字,分成4个大小相等的边长 ...
- [hdu1847]博弈,推理
题意:一堆石子,有n个,两个人轮流取,每次都只能取2的幂次方个数,不能取的人输 思路:首先0是必败态,2的所有幂次都是必胜态.由于选的数模3只能是1或2,恰好又都是2的幂次,0,.3都为必败态,猜想3 ...
- Java调用支付宝支付遇到的坑
下单成功,回调不成功 原因:支付宝公钥填成商户公钥.这两个公钥是不一样的,但开头和结尾很多字符都一样,如果不用文本比对器比对很难发现!而且支付宝公钥填成商户公钥还能下单成功,只是回调不成功,这让原因更 ...
- qt creator源码全方面分析(4-6)
目录 Qt插件基础 Qt插件基础 我们知道Qt Creator源码是基于插件架构的,那么我们先来介绍下插件基础知识. 相关内容如下: How to Create Qt Plugins [ - Defi ...
- org.springframework.web.bind.annotation不存在 site:blog.csdn.net(IDEA中运行springboot时报错)
原因:MAVEN版本与IDEA版本不兼容问题, maven虽然更新比较慢,但是最新的3.6.6在与IDEA2019版本及以下版本兼容时会出现以上问题 解决办法:重新配置一个3.6低级别版本的maven ...
- Java 如何实现优雅停服?刨根问底
在 Java 的世界里遨游,如果能拥有一双善于发现的眼睛,有很多东西留心去看,外加耐心助力,仔细去品,往往会品出不一样的味道. 通过本次分享,能让你轻松 get 如下几点,绝对收获满满. a)如何让 ...
- [tgpl]go匿名函数
[tgpl]go匿名函数 0. 定义 匿名函数顾名思义是没有名字的函数, Named functions can be declared only at the package level, but ...
- Echarts图标宽度变成100px,让图表宽度随着父元素自动适应,Vue实时监听宽度的变化,这可能是史上最好的解决方案!
最近工作中element后台管理使用Echarts图表,本后台项目分图表模式和列表模式,使用display控制显示隐藏,这样就引出了本文的问题. 问题1:Echarts图标宽度变成100px? 问题2 ...
- Reflux之Action
reflux在flux的基础上,去掉了dispatcher. 在Reflux中,每一个Action本身就是一个Publisher(消息发布者),具有消息发布功能:而每一个Store除了作为数据存储之外 ...
- docker基本维护命令
docker search centos ##查服务器上面的镜像:docker images ##查本地的镜像.docker pull centos ##拉镜像. docker run centos ...