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

微信网站开发登录什么软件做网站

微信网站开发登录,什么软件做网站,上海做网站yuanmus,网站微信登录怎么做的LeetCode12_整数转罗马数字 标签:#哈希表 #数字 #字符串Ⅰ. 题目Ⅱ. 示例 0. 个人方法:模拟官方题解二:硬编码数字 标签:#哈希表 #数字 #字符串 Ⅰ. 题目 七个不同的符号代表罗马数字,其值如下: 符号值I…

LeetCode12_整数转罗马数字

  • 标签:#哈希表 #数字 #字符串
    • Ⅰ. 题目
    • Ⅱ. 示例
  • 0. 个人方法:模拟
  • 官方题解二:硬编码数字

标签:#哈希表 #数字 #字符串

Ⅰ. 题目

  • 七个不同的符号代表罗马数字,其值如下:
符号
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 的次方(I, X, C, M)最多可以连续附加 3 次以代表 10 的倍数。你不能多次附加 5 (V),50 (L) 或 500 (D)。如果需要将符号附加4次,请使用 减法形式。

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

Ⅱ. 示例

· 示例 1:
输入:num = 3749
输出: “MMMDCCXLIX”
解释:
3000 = MMM 由于 1000 (M) + 1000 (M) + 1000 (M)
700 = DCC 由于 500 (D) + 100 © + 100 ©
40 = XL 由于 50 (L) 减 10 (X)
9 = IX 由于 10 (X) 减 1 (I)
注意:49 不是 50 (L) 减 1 (I) 因为转换是基于小数位

· 示例 2:
输入:num = 58
输出:“LVIII”
解释:
50 = L
8 = VIII

· 示例 3:
输入:num = 1994
输出:“MCMXCIV”
解释:
1000 = M
900 = CM
90 = XC
4 = IV

0. 个人方法:模拟

class Solution {
public:string intToRoman(int num) {std::vector<std::pair<int, std::string>> renoma_map = {{1000, "M"}, {900, "CM"}, {500, "D"}, {400, "CD"}, {100, "C"},{90, "XC"}, {50, "L"}, {40, "XL"}, {10, "X"}, {9, "IX"}, {5, "V"}, {4, "IV"}, {1, "I"}};std::string roma = "";for (const auto& pair : renoma_map){while (num >= pair.first){roma += pair.second;  // 添加符号num -= pair.first;    // 减去对应的值}}return roma;}
};

(官方题解一,即上述模拟,因此跳过)

官方题解二:硬编码数字

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

  • 利用模运算和除法运算,我们可以得到 num 每个位上的数字:
thousands_digit = num / 1000
hundreds_digit = (num % 1000) / 100
tens_digit = (num % 100) / 10
ones_digit = num % 10
  • 最后,根据 num 每个位上的数字,在硬编码表中查找对应的罗马字符,并将结果拼接在一起,即为 num 对应的罗马数字。
const string thousands[] = {"", "M", "MM", "MMM"};
const string hundreds[]  = {"", "C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM"};
const string tens[]      = {"", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC"};
const string ones[]      = {"", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX"};class Solution {
public:string intToRoman(int num) {return thousands[num / 1000] + hundreds[num % 1000 / 100] + tens[num % 100 / 10] + ones[num % 10];}
};
  • 复杂度分析

  • 时间复杂度:O(1)。计算量与输入数字的大小无关。

  • 空间复杂度:O(1)。


文章转载自:

http://XCJBihXE.rjjjk.cn
http://s2hKWMNW.rjjjk.cn
http://3iqDLBkA.rjjjk.cn
http://xO9MgudL.rjjjk.cn
http://4GXFyigq.rjjjk.cn
http://0uqC82NI.rjjjk.cn
http://sCB72mbO.rjjjk.cn
http://eUKxMv7C.rjjjk.cn
http://FWHLOUVN.rjjjk.cn
http://hq3Kapu6.rjjjk.cn
http://HO3EgvSK.rjjjk.cn
http://hjvnOBRa.rjjjk.cn
http://iwitWn4w.rjjjk.cn
http://4bFCWQUF.rjjjk.cn
http://VULnsWR3.rjjjk.cn
http://oTUynjyR.rjjjk.cn
http://y6I0y2Ei.rjjjk.cn
http://N0rUsGmv.rjjjk.cn
http://15q4pZwv.rjjjk.cn
http://OmpU2wlr.rjjjk.cn
http://eRfGJUdy.rjjjk.cn
http://ojA7sWNE.rjjjk.cn
http://x2755Jd3.rjjjk.cn
http://xPQHyBCH.rjjjk.cn
http://1qIjNnJe.rjjjk.cn
http://saezl7lw.rjjjk.cn
http://IEFAfq6K.rjjjk.cn
http://CGcTq2l4.rjjjk.cn
http://70tCMXJC.rjjjk.cn
http://xEbR0zRP.rjjjk.cn
http://www.dtcms.com/wzjs/763388.html

相关文章:

  • 中企动力免费做网站摄影网站论文
  • 网站建设个人主页图wordpress注册模板下载
  • 网站开发尾款如何做账网站建设的好处和目的
  • 网站建设合肥广州建筑公司
  • 在哪买网站链接牛商网网站做seo好么
  • 潞城建设局网站济南竞价托管
  • 怎样清除单位域名 网站或互联网网址深圳网站开发建设培训
  • 网站建设外包发展情况黄骅市海边
  • 做网站需要哪些程序网站开发快速盈利
  • 有商家免费建商城的网站吗做网站得花多钱
  • 专业网站制作流程电商网站基本功能
  • 有没有做专利导航运营的网站成都网站建设 好多科技
  • 在哪个网站可以做外单衣服深圳关键词推广整站优化
  • 云计算存储网站建设安全推荐专业做网站公司
  • 机械网站建设多少钱l凉州区城乡建设部网站首页
  • 爱站小工具圣经计算机专业设计一个网站
  • 购物节优惠卷网站怎么做杭州省建设厅网站
  • 阿里云服务器搭网站同时做网盘如何建设教育信息网站
  • 温州网站设计服务动漫设计与制作专业就业方向
  • 怎么自己做彩票网站网站建设的电话销售好做不
  • 济南企业营销型网站建设合肥网站推广公司哪家好
  • 专业网站建设软件wordpress页面调用分类目录
  • 西宁大型网站建设用wordpress做音乐网站
  • 济南mip网站建设公司温州联科网站建设
  • 群艺馆网站建设方案网站代码怎么打开
  • 济南 制作网站 公司吗wordpress登录404
  • 做旅游网站平台ppt在哪个网站做整形
  • 影视手机app制作教程seo需要会什么
  • 中国建设招标工程网站网站建设1
  • 网站开发培训要多少钱什么是网络营销 职能是什么