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 ...
随机推荐
- [LA7139 Rotation(2014 shanghai onsite)]二维树状数组
题意:有一个n*m的矩形,一辆车从左上角出发,沿一条路径走,路径是由矩形上每个单元格的边构成的,最后回到左上角,求车子在每个格子转过圈数的平方和. 思路:假设需要记录每个格子转的顺时针的圈数(为负表示 ...
- [csu/coj 1080]划分树求区间前k大数和
题意:从某个区间内最多选择k个数,使得和最大 思路:首先题目给定的数有负数,如果区间前k大出现负数,那么负数不选和更大,于是对于所有最优选择,负数不会出现,所以用0取代负数,问题便转化为区间的前k大数 ...
- Linux系统中如何升级pip
问题提出:在Linux系统下安装python的logging库时提示以下信息 经过一番折腾,定位在pip版本过低和setuptools版本过低上 一.Linux下更新包 sudo python3 -m ...
- scrapy框架之CrawlSpider全站自动爬取
全站数据爬取的方式 1.通过递归的方式进行深度和广度爬取全站数据,可参考相关博文(全站图片爬取),手动借助scrapy.Request模块发起请求. 2.对于一定规则网站的全站数据爬取,可以使用Cra ...
- ionic + asp.net core webapi + keycloak实现前后端用户认证和自动生成客户端代码
概述 本文使用ionic/angular开发网页前台,asp.net core webapi开发restful service,使用keycloak保护前台页面和后台服务,并且利用open api自动 ...
- zz 通过INFORMATION_SCHEMA.INNODB_TRX、INNODB_LOCKS、INNODB_LOCK_WAITS 三个表获取事务与锁的信息
zz from http://imysql.com/2015/03/25/mysql-faq-how-to-fetch-latest-trxid.shtml #先查询 INNODB_TRX 表,看看都 ...
- linux ,mac连接, git pull error, chmod修改文件的权限/chown修改文件和目录的所有者
去项目目录下 启动服务 setsid npm start & Mac下如何用SSH连接远程Linux服务器 https://www.cnblogs.com/littleBit/p/536280 ...
- 你以为只有马云会灌鸡汤?Linux 命令行也会!
你以为只有马云会灌鸡汤?Linux 命令行也会! "Linux 太南了o(╥﹏╥)o","我累了不想奋斗了o(︶︿︶)o"... 不知道你有没有想过,在你快丧失 ...
- Java 14 祭出代码简化大器,Lombok 要被干掉了?
Java 14 3 月发布距现在已经发布 2 个多月,发布了很多新特性,详细的新特性介绍可以看这篇文章: http://www.javastack.cn/article/2020/java14-has ...
- NodeJS——大汇总(一)(只需要使用这些东西,就能处理80%以上业务需求,全网最全node解决方案,吐血整理)
一.前言 本文目标 本文是博主总结了之前的自己在做的很多个项目的一些知识点,当然我在这里不会过多的讲解业务的流程,而是建立一个小demon,旨在帮助大家去更加高效 更加便捷的生成自己的node后台接口 ...