zoukankan      html  css  js  c++  java
  • roman-to-integer

    /**
    *
    * @author gentleKay
    * Given a roman numeral, convert it to an integer.
    * Input is guaranteed to be within the range from 1 to 3999.
    *
    * 给定一个罗马数字,将其转换为整数。
    * 输入保证在1到3999之间。
    */

    这两题可以对比的进行学习:

    integer-to-roman: https://www.cnblogs.com/strive-19970713/p/11238129.html

    /**
     * 
     * @author gentleKay
     * Given a roman numeral, convert it to an integer.
     * Input is guaranteed to be within the range from 1 to 3999.
     * 
     * 给定一个罗马数字,将其转换为整数。
     * 输入保证在1到3999之间。
     */
    
    public class Main14 {
    	public static void main(String[] args) {
    		String s = "I";
    		System.out.println(Main14.romanToInt(s));
    	}
    	
    	public static int romanToInt(String s) {
    		
    		char[] ch = s.toCharArray();
    		
    		char[] roman = {'M','D','C','L','X','V','I'};
    		int[] num = {1000, 500, 100, 50, 10, 5, 1};
    		int sum = 0;
    		for (int i=0;i<ch.length;i++) {
    			for (int j=0;j<roman.length;j++) {
    				if (ch[i] == roman[j]) {
    					sum = sum + num[j];
    					break;
    				}
    			}
    		}
    		//"IV","IX"};  4 , 9   || 5-1  ,  10-1
    		//"XL","XC"};  40, 90  || 50-10,  100-10
    		//"CD","CM"};  400,900 || 500-100,1000-100
              // 主要注意上面的6种情况,需要后面的数 - 前面的数, 因为上面的循环统一都是加上去了,所以现在这里减的话要 乘2. for (int i=0;i<ch.length-1;i++) { if (ch[i]=='I' && ch[i+1]=='V') { sum = sum - 2; } if (ch[i]=='I' && ch[i+1]=='X') { sum = sum - 2; } if (ch[i]=='X' && ch[i+1]=='L') { sum = sum - 20; } if (ch[i]=='X' && ch[i+1]=='C') { sum = sum - 20; } if (ch[i]=='C' && ch[i+1]=='D') { sum = sum -200; } if (ch[i]=='C' && ch[i+1]=='M') { sum = sum -200; } } return sum; } }
  • 相关阅读:
    centos安装MySQL5.7
    centos搭建ftp服务器的方法
    centos 7 卸载 mariadb 的正确命令
    MySQL5.7关于密码二三事
    第四次:渗透练习,xss学习
    第三次靶场练习:通过抓包,绕过内部限制
    第二次靶场练习:cookie注入
    第一次靶场练习:SQL注入(1)
    Linux用户和组管理
    Linux基础命令(三)
  • 原文地址:https://www.cnblogs.com/strive-19970713/p/11250501.html
Copyright © 2011-2022 走看看