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

北京网站关键词排名seo网站推广助理招聘

北京网站关键词排名,seo网站推广助理招聘,建设网站建设目的意义,资阳全搜索app代码 测试用例 测试结果 测试结果 12. 整数转罗马数字 中等 相关标签 相关企业 七个不同的符号代表罗马数字,其值如下: 符号值I1V5X10L50C100D500M1000 罗马数字是通过添加从最高到最低的小数位值的转换而形成的。将小数位值转换为罗马数字有以…

代码

测试用例

测试结果

测试结果

12. 整数转罗马数字

中等

相关标签

相关企业

七个不同的符号代表罗马数字,其值如下:

符号
I1
V5
X10
L50
C100
D500
M1000

罗马数字是通过添加从最高到最低的小数位值的转换而形成的。将小数位值转换为罗马数字有以下规则:

  • 如果该值不是以 4 或 9 开头,请选择可以从输入中减去的最大值的符号,将该符号附加到结果,减去其值,然后将其余部分转换为罗马数字。
  • 如果该值以 4 或 9 开头,使用 减法形式,表示从以下符号中减去一个符号,例如 4 是 5 (V) 减 1 (I): IV ,9 是 10 (X) 减 1 (I):IX。仅使用以下减法形式:4 (IV),9 (IX),40 (XL),90 (XC),400 (CD) 和 900 (CM)。
  • 只有 10 的次方(IXCM)最多可以连续附加 3 次以代表 10 的倍数。你不能多次附加 5 (V),50 (L) 或 500 (D)。如果需要将符号附加4次,请使用 减法形式

给定一个整数,将其转换为罗马数字。

function intToRoman(num: number): string {// 定义罗马数字符号和对应的整数值const values: number[] = [1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1];const symbols: string[] = ["M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I"];let result = '';// 遍历每个罗马数字对应的整数值for (let i = 0; i < values.length; i++) {// 当输入的数字大于等于当前罗马数字对应的整数值时while (num >= values[i]) {// 将对应的罗马数字符号添加到结果字符串中result += symbols[i];// 从输入数字中减去当前罗马数字对应的整数值num -= values[i];}}return result;
}// 测试用例
const testCases = [3, 4, 9, 58, 1994];
testCases.forEach((num) => {console.log(`输入整数: ${num}, 转换后的罗马数字: ${intToRoman(num)}`);
});

代码解释

  1. 定义罗马数字符号和对应的值
    • values 数组存储了罗马数字对应的整数值,按照从大到小的顺序排列。
    • symbols 数组存储了对应的罗马数字符号,与 values 数组中的值一一对应。
  2. 初始化结果字符串
    • result 用于存储最终转换后的罗马数字字符串。
  3. 遍历罗马数字对应的整数值
    • 使用 for 循环遍历 values 数组。
    • 对于每个值,使用 while 循环检查输入的数字 num 是否大于等于当前值。
    • 如果是,则将对应的罗马数字符号添加到 result 字符串中,并从 num 中减去该值。
  4. 返回结果
    • 当 num 变为 0 时,循环结束,返回最终的罗马数字字符串。

复杂度分析

  • 时间复杂度:(O(1)),因为 values 数组和 symbols 数组的长度是固定的,无论输入的数字大小如何,循环的次数都是有限的。
  • 空间复杂度:(O(1)),只使用了常数级的额外空间。

这个算法通过从大到小依次尝试减去罗马数字对应的整数值,逐步构建出对应的罗马数字字符串,同时遵循了罗马数字的转换规则。

 

http://www.tj-hxxt.cn/news/16596.html

相关文章:

  • 重庆市网站建设搜索引擎实训心得体会
  • 做不锈钢的网站页面设计漂亮的网站
  • 杭州网站开发企业中国北京出啥大事了
  • 网站不足站长之家素材网
  • 网络营销企业案例分析杭州网站优化流程
  • 专业网站建设费用包括初学者做电商怎么入手
  • wordpress安装网站源码新平台推广赚钱
  • 从事网站开发方向舆情监测系统排名
  • 石家庄seo网站优化电话怎么制作seo搜索优化
  • 做采集的网站有流量吗关键词首页优化
  • 政府机关网站制作模板广告关键词
  • 浙江建设厅特种考试查询郑州百度推广seo
  • 广州做网站多少钱seo关键词推广怎么做
  • 上海产品设计公司seo网站推广软件排名
  • 网上做家教的网站卫星电视安装视频
  • 网站怎样做没有病毒竞价托管代运营
  • 吉林响应式网站建设百度文库官网入口
  • 帝国cms做网站软文100字左右案例
  • 做机械的专业外贸网站有哪些百度手机版网页
  • 模板免费网站seo超级外链工具
  • 杭州做网站吧百度竞价点击一次多少钱
  • 酒店网站建设2023年8月疫情严重吗
  • 如何做网站安全加固企业网站的作用有哪些
  • 企业如何注册自己的网站汕头seo快速排名
  • 遵义市网站制作代做百度关键词排名
  • 上海官网网址商丘搜索引擎优化
  • php网站开发费用江阴网站制作公司
  • 企业每年向工商网站做申报东莞网站营销策划
  • 巴适网站建设路由器优化大师
  • 无锡企业网站公司互联网销售可以卖什么产品