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

搭建网站的平台有哪些教育网站建设备案

搭建网站的平台有哪些,教育网站建设备案,大学生毕业生旧书电商网站开发,WordPress修改用户IP插件关键词:to_string, string.size(), string.length() 1.题目 2.解答思路及解答 解答思路: 首先,罗马数字表达中和常规数学表达类似,基本是按照从后往前,从小到大排列。因此,理论上只需要从后往前相加即可。…

 关键词:to_string, string.size(), string.length()

1.题目

2.解答思路及解答

解答思路:

        首先,罗马数字表达中和常规数学表达类似,基本是按照从后往前,从小到大排列。因此,理论上只需要从后往前相加即可。

        受限于几种特殊情况,根据相加的顺序,如果是从小到大(从右往左,从下标大到小时),特殊情况IV,IX,XL,XC,CD,CM则特殊考虑,即遇到V、X判断左侧是否有I,否则特殊处理,没有I时正常处理,其他情况类似。

        需要注意的不仅是思路问题,本题从左往右相加也可计算,但是时刻需要注意下标溢出问题。

class Solution {
public:int romanToInt(string s) {int iSize = s.size();int iSum = 0;for(int i = iSize - 1; i >= 0; --i){if(s[i] == 'I'){iSum += 1;}else if(s[i] == 'V'){if(i-1 >= 0 && s[i-1] == 'I'){iSum += 4;--i;}else{iSum += 5;}}else if(s[i] == 'X'){if(i-1>=0 && s[i-1] == 'I'){iSum += 9;--i;}else{iSum += 10;}}else if(s[i] == 'L'){if(i-1>=0 && s[i-1] == 'X'){iSum += 40;--i;}else{iSum += 50;}}else if(s[i] == 'C'){if(i-1>=0 && s[i-1] == 'X'){iSum += 90;--i;}else{iSum += 100;}}else if(s[i] == 'D'){if(i-1>=0 && s[i-1] == 'C'){iSum += 400;--i;}else{iSum += 500;}}else if(s[i] == 'M'){if(i-1>=0 && s[i-1] == 'C'){iSum += 900;--i;}else{iSum += 1000;}}//end for}return iSum;//end fun}
//end class
};

3.优秀答案

答案1:map比对

        该答案中利用map解决了常规思路中需要逐个if判断字母和对应特殊情况的问题(理论上switch就是多个if的语句,可以替代if,然而switch只能分类数字,而不能进行字母分类)。

        而且巧妙总结了罗马数字的规律:如果小的数字放在大数字左边就等于大数字减小数字的结果。

class Solution {
private:unordered_map<char, int> symbolValues = {{'I', 1},{'V', 5},{'X', 10},{'L', 50},{'C', 100},{'D', 500},{'M', 1000},};public:int romanToInt(string s) {int ans = 0;int n = s.length();for (int i = 0; i < n; ++i) {int value = symbolValues[s[i]];if (i < n - 1 && value < symbolValues[s[i + 1]]) {ans -= value;} else {ans += value;}}return ans;}
};作者:力扣官方题解
链接:https://leetcode.cn/problems/roman-to-integer/solutions/774992/luo-ma-shu-zi-zhuan-zheng-shu-by-leetcod-w55p/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

4.技术总结

1

unordered_map<char,int> XXX={

{‘I’,1},

{‘V’,5},

{‘X’,10},

}

map,XXX[char]返回int

http://www.yayakq.cn/news/465205/

相关文章:

  • 自己的商标名称可以做网站名称吗怎么看网站做的外链
  • 网站文章在哪发布做seo宣传片制作的十大步骤
  • 国外虚拟物品交易网站免费做网站通栏广告
  • 做彩票网站需要什么技术网站开发app开发培训
  • 太阳能公司网站建设开发公司哪个部门工作好
  • dw做网站是静态还是动态网页视频在线提取
  • 专业网站建设是哪家厦门专业网站推广
  • 汕头住房和城乡建设厅网站博星卓越 网站开发方案
  • 怎么自己创建网站或者app一览英才网招聘信息网
  • php电影网站开发网页翻译不了
  • 留学网站建设方案网站建设哪个品牌好
  • 青岛专业网站建设公司上海可以做网站的公司
  • 沙井网站设计网站建设 博贤科技
  • 企业大型网站开发需要多少钱建设工程质量管理条例网站
  • 平台网站怎么做专业网页制作多少钱
  • 网站颜色背景代码华夏润达建设有限公司网站
  • 番禺怎样优化网站建设wordpress注册工具
  • 服装时尚网站比分网站仿站建设
  • 网站开发网站运营怎么做网站内链调整
  • 怎么做淘宝客网站备案网站选服务器文件
  • 餐饮环境评估在哪个网站做网站开发定制模板网站建设
  • 朝阳网站建设开发网站建设需要做什么准备工作
  • 关于网站建设运营的保密协议如何推广宣传一个品牌
  • 网站框架建设越秀公司网站建设
  • 做网站的用多少钱php是世界上最好的语言
  • 中国建设监理协会网站投稿学seo需要多久
  • 梦幻西游网页版官方网站赚钱黑渠道入口
  • 织梦手机网站小程序制作推广
  • 网站流量增加微网站页面菜单栏
  • 域名会影响网站排名吗seo咨询常德