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 ...
随机推荐
- python机器学习(三)分类算法-朴素贝叶斯
一.概率基础 概率定义:概率定义为一件事情发生的可能性,例如,随机抛硬币,正面朝上的概率. 联合概率:包含多个条件,且所有条件同时成立的概率,记作:
- Unity2D模拟控制位移
using UnityEngine; using System.Collections; public class PlayerController : MonoBehaviour { public ...
- css概述三
五.盒子模型 4.box-sizing 定义盒子模型的计算方式 box-sizing:content-box; 默认值,我们定义的width/height是内容区域 元素占地宽度=左外边距+左边框+左 ...
- http://blog.itpub.net/28602568/viewspace-759789/
varchar .varchar2.nvarchar.nvarchar2 -->存储可变的字符串 varchar .varchar2:varchar:汉字全角等字符占2字节,数字.字母均1个字 ...
- Hyperledger Fabric——balance transfer(二)注册用户
详细分析blance transfer示例的用户注册(register)与登录(enroll)功能. 源码分析 1.首先分析项目根目录的app.js文件中关于用户注册和登录的路由函数.注意这里的tok ...
- SQL——TOP、IN、BETWEEN AND、IS NULL和IS NOT NULL
TOP子句 - 用于规定要返回的记录的数目.并不是所有数据库都支持TOP子句. 语法: SQLServer:SELECT TOP number|percent columnName ...
- get_client_ip()
get_client_ip()获取ip地址,在开启IPv6协议的主机上会全部返回0.0.0.0原因是他会把ipv6地址认为是非法地址而转换成0.0.0.0,而ipv4地址在ipv6主机上用get_cl ...
- 《机器学习_09_01_决策树_ID3与C4.5》
简介 先看一个例子,某银行是否给用户放贷的判断规则集如下: if 年龄==青年: if 有工作==是: if 信贷情况==非常好: 放 else: 不放 else: if 有自己的房子==是: if ...
- 【Leetcode】287. 寻找重复数(数组模拟链表的快慢指针法)
寻找重复数 根据题意,数组中的数字都在1~n之间,所以数字的范围是小于数组的范围的,数组的元素可以和数组的索引相联系. 例如:nums[0] = 1 即可以将nums[0]作为索引 通过nums[0] ...
- 第 7 篇:文章详情的 API 接口
作者:HelloGitHub-追梦人物 一旦我们使用了视图集,并实现了 HTTP 请求对应的 action 方法(对应规则的说明见 使用视图集简化代码),将其在路由器中注册后,django-restf ...