zoukankan      html  css  js  c++  java
  • 012整数转罗马数字

    写在前面,参考的是力扣官网的解答。

    一、java算法

    /*
     * @lc app=leetcode.cn id=12 lang=java
     *
     * [12] 整数转罗马数字
     */
    
    // @lc code=start
    class Solution {
        public String intToRoman(int num) {
            //罗马数字由7个单字母符号组成,每个符号都有自己的价值,此外,减法规则给出了额外的6个符号
            int[] values={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
            StringBuilder sb=new StringBuilder();
            //循环每一个symbols,直到数值为0
            for(int i=0;i<values.length&&num>=0;i++){
                //当symbols的值小于时进入循环
                //因为时从左开始的,所以每次用的都是尽可能最大的值去匹配
                while(values[i]<=num){
                    //如果匹配则减掉当前的symbols
                    num-=values[i];
                    //将该symbols的符号添加到sb后面
                    sb.append(symbols[i]);
                }
            }
            //数除sb
            return sb.toString();
        }
    }
    // @lc code=end
    

    二、图解算法

    1、算法原理

    2、动图演示算法过程

  • 相关阅读:
    朴素贝叶斯算法
    生成模型与判别模型
    决策树 ID3,C4.5 CART
    KNN 分类程序
    php的空间命名
    模式设计六大原则
    javascript 的设计模式(更新中)
    typescript 学习笔记
    PHP 关于smarty模板引擎的使用
    简易封装PDO的操作类
  • 原文地址:https://www.cnblogs.com/lxr-xiaorong/p/13595189.html
Copyright © 2011-2022 走看看