首页 > 其他分享 >LeetCode 13. 罗马数字转整数

LeetCode 13. 罗马数字转整数

时间:2024-04-05 17:32:05浏览次数:20  
标签:13 int sum LeetCode unordered 罗马数字 ia 目标 对应

解题思路
通过样例我们可以知道,将目标对应值和下一个目标对应值进行比较,如果小于,则sum=sum+目标
对应值,如果大于,则sum=sum-目标对应值。最终的sum就是正确答案。

相关代码

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

标签:13,int,sum,LeetCode,unordered,罗马数字,ia,目标,对应
From: https://blog.csdn.net/weixin_55057111/article/details/137400877

相关文章

  • 《架构风清扬-Java面试系列第13讲》说一说Java对象在内存中的生命周期
    大家好,加个餐!像线程的生命周期,Servlet的生命周期,相信这类问题大家都非常熟悉了Java对象在内存中的生命周期,这个题目倒是有些新鲜来,思考片刻,说出你的答案(PS:上图缓冲)Java对象在其内存中的生命周期可以被划分为多个阶段,下面钊哥逐个给大家说一说1,创建阶段(Creation......
  • LeetCode-142. 环形链表 II【哈希表 链表 双指针】
    LeetCode-142.环形链表II【哈希表链表双指针】题目描述:解题思路一:快慢指针判断是否有环见解题思路二:set()解题思路三:0题目描述:给定一个链表的头节点head,返回链表开始入环的第一个节点。如果链表无环,则返回null。如果链表中有某个节点,可以通过连续跟踪next......
  • LeetCode 704.二分查找
    一、题目二、解题注:本文均是Java代码1、双闭区间写法classSolution{publicintsearch(int[]nums,inttarget){intleft=0,right=nums.length-1;while(left<=right){intmiddle=(left+right)>>>1;......
  • lanqiao OJ 3513 岛屿个数(2023省赛)
    原题链接:3.岛屿个数-蓝桥云课(lanqiao.cn)感觉这个题出的真的特别好,考察了对bfs的使用,包括连通性的一系列判断,如果对bfs掌握的不熟练真的很难想出如何下手来做这道题。这里我们需要用海水来进行bfs,海水可以渗透,也就是说可以走8个方向,因为我们要从任意一个边界点出发,所以我......
  • LeetCode 1539. Kth Missing Positive Number
    原题链接在这里:https://leetcode.com/problems/kth-missing-positive-number/description/题目:Givenanarray arr ofpositiveintegerssortedina strictlyincreasingorder,andaninteger k.Return the kth positive integerthatis missing fromthisarra......
  • 【leetcode面试经典150题】12.O(1) 时间插入、删除和获取随机元素(C++)
    【leetcode面试经典150题】专栏系列将为准备暑期实习生以及秋招的同学们提高在面试时的经典面试算法题的思路和想法。本专栏将以一题多解和精简算法思路为主,题解使用C++语言。(若有使用其他语言的同学也可了解题解思路,本质上语法内容一致)【题目描述】实现RandomizedSet 类:......
  • LeetCode in Python 88. Merge Sorted Array (合并两个有序数组)
    合并有序数组也有两种方法,区别是空间复杂度不同。第一种,重新开辟一个数组空间,大小为O(m+n),另外需要三个指针分别指向两个有序数组和新开辟的数组,依次判断两个数组内元素大小,不断更新指针即可。第二种,无需单独开辟空间,在第一个数组(该数组空间足够存放两个数组总长的数据)内进行......
  • 20211317李卓桐Exp3-免杀原理实验报告
    Exp3-免杀原理任务详情1.实践内容(4分+1分附加分)1.1方法(分)正确使用msf编码器,使用msfvenom生成如jar之类的其他文件(1分),veil,加壳工具(1分),使用C+shellcode编程(1分),1.2通过组合应用各种技术实现恶意代码免杀(1分)(如果成功实现了免杀的,简单语言描述原理,不要截图。与杀软共......
  • 第 13 届山东省 icpc 省赛 vp
    第13届山东省icpc省赛vp总结:2024/4/4赛时:7/12:ABDGIJLhttps://codeforces.com/gym/104417最近开始康复训练,和昊哥vp了一场省赛。前期签到蛮顺利,基本1个多小时就出了5题,然后卡在了E,后面B的实现也弄了蛮久,好在过了J题,vp在省内应该是可以排到前30......
  • C语言 | Leetcode C语言题解之第8题字符串转换整数atoi
    题目:题解:intmyAtoi(char*s){inti=0;intout=0;intpol=1;intlen=strlen(s);if(len==0)return0;while(s[i]=='')i++;//删除空格if(s[i]=='-'){//判断正负pol=-1;i++;}else......