当前位置: 首页 > news >正文

Leecode刷题之路第12天之整数转罗马数字

题目出处

12-整数转罗马数字-题目出处

题目描述

在这里插入图片描述
在这里插入图片描述

个人解法

思路:

todo

代码示例:(Java)

todo

复杂度分析

todo

官方解法

12-整数转罗马数字-官方解法

在这里插入图片描述
在这里插入图片描述

方法1:模拟

思路:

在这里插入图片描述

代码示例:(Java)

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"};public String intToRoman(int num) {StringBuffer roman = new StringBuffer();for (int i = 0; i < values.length; ++i) {int value = values[i];String symbol = symbols[i];while (num >= value) {num -= value;roman.append(symbol);}if (num == 0) {break;}}return roman.toString();}

复杂度分析

在这里插入图片描述

方法2:硬编码数字

思路:

在这里插入图片描述
在这里插入图片描述

代码示例:(Java)

String[] thousands = {"", "M", "MM", "MMM"};String[] hundreds = {"", "C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM"};String[] tens = {"", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC"};String[] ones = {"", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX"};public String intToRoman(int num) {StringBuffer roman = new StringBuffer();roman.append(thousands[num / 1000]);roman.append(hundreds[num % 1000 / 100]);roman.append(tens[num % 100 / 10]);roman.append(ones[num % 10]);return roman.toString();}

复杂度分析

在这里插入图片描述

考察知识点

1.罗马数字

收获

Gitee源码位置

12-整数转罗马数字-源码

同名文章,已同步发表于CSDN,个人网站,公众号

  • CSDN

    工一木子
  • 个人网站

    工藤新一
  • 公众号

    在这里插入图片描述

http://www.mrgr.cn/news/44919.html

相关文章:

  • 《重生到现代之从零开始的数据结构生活》—— 复杂度
  • Ollama接口系统详解
  • Mysql(六) --- 聚合函数,分组和联合查询
  • C++ 多线程
  • 千益畅行:团队游相关问题解答
  • 【算法】双指针(续)
  • 基于深度学习的多焦点图像融合系统【数据集+深度学习模型+源码+PyQt5界面】
  • 算法【从递归入手二维动态规划】
  • QT调用libusb库stm32407上下位机
  • 2024年9月底读书总结
  • 用java做一个简易版球球大作战
  • Java基础语法
  • 【MySQL】使用 JDBC 连接数据库
  • C语言的类型提升机制
  • Arduino UNO R3自学笔记22 之 Arduino电机的闭环控制(PID)
  • macos php开发环境之macport安装的php扩展安装,php常用扩展安装,port中可用的所有php扩展列表
  • 【可答疑】基于51单片机的倒车雷达测距(含仿真、代码、报告、演示视频等)
  • js操作元素的其他操作(4个案例+效果图+代码)
  • Chrome浏览器调用ActiveX控件--allWebOffice控件
  • OJ在线评测系统 微服务 用分布式消息队列 RabbitMQ 解耦判题服务和题目服务 手搓交换机和队列 实现项目异步化