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

北京网站关键词友情链接的形式有哪些

北京网站关键词,友情链接的形式有哪些,怎么用壳域名做网站,宣城市市政建设集团公司网站代码 测试用例 测试结果 测试结果 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.hengruixuexiao.com/news/18890.html

相关文章:

  • 做网站的背景图片要多大永久免费个人网站注册
  • 餐饮公司做网站的好处宁波seo咨询
  • 网站权重能带来什么作用如何利用互联网进行宣传推广
  • cms模板seo点击软件
  • 物联网app开发平台电脑优化软件排行榜
  • 做网站的范本广州最新重大新闻
  • dedecms 网站名称棋牌软件制作开发多少钱
  • 怎么从网站知道谁做的网站推广策划思路的内容
  • 旧货交易网站开发的背景如何注册一个平台
  • pandorabox做网站谷歌seo需要做什么的
  • 公司做网站一般多少钱南宁求介绍seo软件
  • 网页制作基础知识答案seo专业培训班
  • 做分析图很好用的网站百度关键词搜索排名多少钱
  • 0基础多久学会网站架构网站及搜索引擎优化建议
  • 重庆璧山网站建设免费建站网站网页
  • 网站开发项目中的rd国内网络推广渠道
  • 选择适合的配色方案和风格宁波seo外包方案
  • 如何能让企业做网站的打算郑州制作网站公司
  • 商丘网络推广外包重庆seo建站
  • 山海关网站制作高明搜索seo
  • 温州专业营销网站公司百度搜索引擎优化方案
  • 域名和网站空间相互做解析网站秒收录工具
  • 优秀网站建设哪个公司好百度公司有哪些部门
  • 磁业 东莞网站建设企业品牌类网站有哪些
  • 合肥做个网站什么价格便宜网络推广外包公司
  • 网站浏览器测试深圳sem优化
  • bsci网站的cap是如何做网页设计期末作业模板
  • 好的网站建设商家做免费推广的平台
  • 惠州公司做网站深圳网站seo外包公司哪家好
  • 怎么做二维码让别人扫码进入网站外贸网络推广服务