zoukankan      html  css  js  c++  java
  • Integer to Roman

    Integer to Roman

    问题:

    Given an integer, convert it to a roman numeral.

    Input is guaranteed to be within the range from 1 to 3999.

    思路:

      映射方法-->等长数组

    我的代码:

    public class Solution {
        public String intToRoman(int num) {
            int[] values = {1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1 };  
            String[] numerals = {"M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I" };  
            StringBuffer rst = new StringBuffer();
            int len = values.length;
            for(int i = 0; i < len; i++)
            {
               int count = num/values[i];
               num = num % values[i];
               for(int j = 0; j < count; j++)
               {
                   rst.append(numerals[i]);
               }
            }
            return rst.toString();
        }
    }
    View Code

    别人代码:

    public class Solution {
        public String intToRoman(int num) {
            if(num <= 0) {
                return "";
            }
            int[] nums = {1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1};
            String[] symbols = {"M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I"};
            StringBuilder res = new StringBuilder();
            int digit=0;
            while (num > 0) {
                int times = num / nums[digit];
                num -= nums[digit] * times;
                for ( ; times > 0; times--) {
                    res.append(symbols[digit]);
                }
                digit++;
            }
            return res.toString();
        }
    }
    View Code

    学习之处:

    • 变量命名 times remain
    • 转化的根本在于映射,常见的映射方法 1、map 2、等长数组

    need to learn

  • 相关阅读:
    明确方向,勇往直前
    每日一笔记之3:QTconnect()
    每日一笔记之2:QT之坐标系统:
    每日一笔记之1:静态成员函数
    QT对话框模式与非模式
    Objective-C-实例变量与属性的关系
    Objective-C编码规范
    CocoaPods的安装与使用
    design_model(18)observe
    design_model(17)state
  • 原文地址:https://www.cnblogs.com/sunshisonghit/p/4315906.html
Copyright © 2011-2022 走看看