Question 1
Integer to Roman
Given an integer, convert it to a roman numeral.
Input is guaranteed to be within the range from 1 to 3999
What we need to notice is the thing like "CM", the smaller one followed by the big one, where you need to substract the smaller one.
public class Solution { public String intToRoman(int num) { String result = ""; String[] set1 = {"M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I"}; int[] set2 = {1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1}; for (int i = 0; num != 0; i ++){ while (num >= set2[i]){ result += set1[i]; num -= set2[i]; } } return result; } }