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 ...
随机推荐
- Python3+Pycharm+PyQt5环境搭建步骤
搭建环境: 操作系统:Win10 64bit Python版本:3.7 Pycharm:社区免费版 一.Python3.7安装 下载链接:官网 https://www.python.org/downl ...
- Mysql 常用函数(19)- mod 函数
Mysql常用函数的汇总,可看下面系列文章 https://www.cnblogs.com/poloyy/category/1765164.html mod 的作用 求余数,和%一样 mod的语法格式 ...
- Mockito不能mock final类的解决办法
Mockito是很常用的测试工具,使用过程中可能会遇到下面的问题: Mockito cannot mock/spy because : - final class 问题重现: 引入该依赖到项目的mav ...
- PMS学习
一,PMS的adb相关重要指令 1,adb shell dumpsys package(dump所有的系统内apk信息) 2,adb shell dumpsys package “com.androi ...
- java ->多线程_线程同步、死锁、等待唤醒机制
线程安全 如果有多个线程在同时运行,而这些线程可能会同时运行这段代码.程序每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安全的. l 我们通过一个案例,演示线 ...
- Python-AES加密算法接口测试
前言 先前已经学过了Python-SHA256加密算法接口测试,今天我跟大家讲解一下AES加密算法的接口如何写python脚本进行测试. 一:安装pycryptodome模块 pip install ...
- Raft翻译
英文原文:https://web.stanford.edu/~ouster/cgi-bin/papers/raft-atc14 In Search of an Understandable Conse ...
- nodejs上使用sql
1.首先本地要安装mysql, https://www.mysql.com/downloads/. 2.在node中连接mysql,要安装mysql驱动,也就是npm安装mysql模块:npm i m ...
- django提供二进制流数据文件的下载
基于djnago框架的二进制流数据传输(提供较大文件的下载) (1)数据源: 高质量图片.视频.音频.文件.数据库数据等.如果是数据库文件,需要先读取相应的数据,然后写入表格在传输到前端以供下载! ( ...
- POJ3169
题目链接:http://poj.org/problem?id=3169 AC思路: spfa算法. 设各牛的位置为x[ ]. 对于感情好的牛,即第2到ML+1行:A B D, 有x[B] - x[A] ...