JavaScript实现graphBridges图桥算法(附完整源码)

排序算法之冒泡排序

  返回  

leetc 13 罗马数字转整数(c++)

2021/8/21 21:21:39 浏览:

题目:罗马数字转整数
解法:
首先 for循环的i++与++i的区别:
当i++循环和++i循环在for循环内部,虽然形式上明显不同,但输出结果可以一样。
1、引用顺序不同。
前者是:先引用,后增加,后者是:先增加,后引用,++i是先改变i的值,而i++是先使用i值然后再改变它的值。
例如:i的原值是5,则对于 j=++i,j的值为6;对于 j=i++,j的值为5,然后j的值变为6。
2、输出结果不同。
它们两个表达形式不同,其输出结果也是不一样的,i++输出结果是1,而++i输出结果是2。
本题,我认为i++与++i对结果不影响。
class Solution{
private:
unordered_map<char,int>sl={{‘I’,1},{‘V’,5},{‘X’,10},{‘L’,50},{‘C’,100},{‘D’,500},{‘M’,1000},};
public:
int romanToInt(string s){
int k=0;
int n=s.length();
for(int i=0;i<n;i++)
{
int v=sl[s[i]];
if(i<n-1&&v<sl[s[i+1]]){k=k-v;}
else{k=k+v;}
}
return k;
}
};
在这里插入图片描述unordered_map 是一个关联容器,存储key,value。其中元素并没有特别的次序关系。

在unordered_map 内部,元素不会按任何的次序排序,而是通过主键的hash值将元素放置到各个槽(Bucket,也可译为“桶”)中,这样就能够通过主键快速的访问各个对应的元素。
在这里插入图片描述在这里插入图片描述

联系我们

如果您对我们的服务有兴趣,请及时和我们联系!

服务热线:18288888888
座机:18288888888
传真:
邮箱:888888@qq.com
地址:郑州市文化路红专路93号