Leetcode 13.罗马数字转整数

devtools/2024/11/29 19:26:04/

题目意在对数组的快速查找 

思路:哈希表

首先创建哈希表,对字符以及对应的数据进行输入,当下一个字符小于或等于当前字符时,进行累加,否则减去当前字符的值

class Solution {
public:int romanToInt(string s) {unordered_map<char,int>luoma{{'I', 1},{'V', 5},{'X', 10},{'L', 50},{'C', 100},{'D', 500},{'M', 1000},};int sum=0;for(int i=0;i<s.size();i++){if(i < s.size() - 1 &&luoma[s[i+1]]>luoma[s[i]])sum-=luoma[s[i]];else sum+=luoma[s[i]];}return sum;}
};

注意:要判断是否越界以及ASCII值和哈希表中数值对应的区分

在这里直接用s[i]对应的是哈希表中的键(unordered_map<KeyType, ValueType> variableName),也就是第一个

完整代码(参考)

#include <iostream>
#include <string>
#include <unordered_map>using namespace std;int romanToInt(string s) {unordered_map<char, int> luoma = {{'I', 1},{'V', 5},{'X', 10},{'L', 50},{'C', 100},{'D', 500},{'M', 1000},};int sum = 0;for (int i = 0; i < s.size(); i++) {if (i < s.size() - 1 && luoma[s[i + 1]] > luoma[s[i]]) {sum -= luoma[s[i]]; } else {sum += luoma[s[i]]; }}return sum;}int main() {string roman;cin >> roman; cout <<romanToInt(roman)<< endl; return 0;
}

http://www.ppmy.cn/devtools/137999.html

相关文章

在 Django 中创建和使用正整数、负数、小数等数值字段

文章目录 在 Django 中创建和使用正整数、负数、小数等数值字段正整数字段&#xff08;Positive Integer&#xff09;PositiveIntegerField 负整数字段&#xff08;Negative Integer&#xff09;IntegerField 配合自定义验证 小数字段&#xff08;Decimal&#xff09;使用 Deci…

【力扣】541.反转字符串2

问题描述 思路解析 每当字符达到2*k的时候&#xff0c;判断&#xff0c;同时若剩余字符>k,只对前k个进行判断&#xff08;这是重点&#xff09;因为字符串是不可变变量&#xff0c;所以将其转化为字符串数组&#xff0c;最后才将结果重新转变为字符串 字符串->字符数组 …

百度在下一盘大棋

这两天世界互联网大会在乌镇又召开了。 我看到一条新闻&#xff0c;今年世界互联网大会乌镇峰会发布“2024 年度中国互联网企业创新发展十大典型案例”&#xff0c;百度文心智能体平台入选。 这个智能体平台我最近也有所关注&#xff0c;接下来我就来讲讲它。 百度在下一盘大棋…

Web前端学习_CSS盒子模型

content padding border margin <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>CSS盒子模型</title><style></style> </head> <body> <div class"demo&quo…

【金猿案例展】京东物流UData——物流行业数据分析智能体解决方案

‍ 北极九章数据要素案例 该数据要素项目案例由北极九章投递并参与“数据猿年度金猿策划活动——2024数据要素产业年度创新服务企业榜单/奖项”评选。 大数据产业创新服务媒体 ——聚焦数据 改变商业 在数字经济时代&#xff0c;供应链领域的核心决策能力正越来越多地依赖于数…

使用Eureka实现服务注册与发现的具体案例详解

1. Eureka 的基本概念 1.1 什么是 Eureka&#xff1f; Eureka 是一个基于 REST 的服务注册和发现平台&#xff0c;主要分为以下两个组件&#xff1a; Eureka Server&#xff1a;作为服务注册中心&#xff0c;负责维护服务实例信息。Eureka Client&#xff1a;服务消费者与服…

用Vue3.0 如何实现组件?实现一个 Modal应该怎么设计?

当然,Vue 3.0 提供了非常方便的组件化机制来实现像 Modal 这样的 UI 组件。实现一个 Modal 组件的基本设计思路是:通过一个控制显示与隐藏的 v-if 或 v-show,然后使用 props 接收外部控制参数,最后通过事件机制通知父组件进行交互。 以下是如何在 Vue 3.0 中实现一个基本的…

国产FPGA+DSP 双FMC 6U VPX处理板

高性能国产化信号处理平台采用6U VPX架构&#xff0c;双FMC接口国产V7 FPGA 国产多核 DSP 的硬件架构&#xff0c;可以完成一体化电子系统、有源相控阵雷达、电子侦察、MIMO 通信、声呐等领域的高速实时信号处理。 信号处理平台的组成框图如图 1 所示&#xff0c; DSP处理器采…