首页 > 其他分享 >leedcode 罗马数字转整数

leedcode 罗马数字转整数

时间:2023-12-30 17:22:40浏览次数:36  
标签:count convert continue leedcode 整数 罗马数字 num len elif

class Solution:
    def romanToInt(self, s: str) -> int:
        num_convert = {'I': 1, 'V': 5, 'X':10,'L':50,'C':100,'D':500,'M':1000}
        s_len=len(s)
        count=0
        for i in range(s_len):
            if s[i] in num_convert:
                if i==s_len-1:
                    count+=num_convert[s[i]]
                    continue
                elif s[i]=='I' and s[i+1]=='V':
                    count-=num_convert[s[i]]
                    continue
                elif s[i]=='I' and s[i+1]=='X':
                    count-=num_convert[s[i]]

                    continue
                elif s[i]=='X' and s[i+1]=='L':
                    count-=num_convert[s[i]]
                    continue
                elif s[i]=='X' and s[i+1]=='C':
                    count-=num_convert[s[i]]
                    continue
                elif s[i]=='C' and s[i+1]=='D':
                    count-=num_convert[s[i]]
                    continue
                elif s[i]=='C' and s[i+1]=='M':
                    count-=num_convert[s[i]]
                    continue
                else:
                    count+=num_convert[s[i]]
        return count

s = "MCMXCIV"
sol = Solution().romanToInt(s)
print(sol)

 

 

标签:count,convert,continue,leedcode,整数,罗马数字,num,len,elif
From: https://www.cnblogs.com/yyyjw/p/17936560.html

相关文章

  • 整数除法:floor、ceil、round——《初学C语言第42天》
    //////整数除法——舍小数,取整数//1.floor()头文件<math.h>//功能:把一个小数向下取整,即如果被计算的数是2.2,那向下取整的结果就为2.000000//原型:doublefloor(doubex);//x:是需要计算的数//返回值://   成功:返回一个double类型的数,此数默认有6位小数//   ......
  • 用一个整数表达一个序列,可能吗
    引言早年,我发现了一种可以用一个整数表示一个序列的数学方法。下表是3个数字的全排列,有6种情况,编号0到5。编号序列00,1,210,2,121,0,231,2,042,0,152,1,0编码下面介绍如何从序列计算出编号。以2,1,3,0为例。21302+0*4=21201......
  • 十进制整数转十六进制字符串
    描述编写一个函数,传入一个十进制的正整数,将十进制整数转换为十六进制的字符串并返回。(十六进制字符串中的字母全部大写)输入描述:键盘输入一个十进制的正整数输出描述:输出该十进制整数转换后的十六进制字符串示例1输入:162输出:A2示例2输入:50输出:32示例3输入:501输出:1F5......
  • 汇编-idiv有符号整数除法
     有符号除法就是将一个有符号数除以另一个有符号数有符号整数除法与无符号除法几乎相同,只有一个重要的区别:在进行除法之前,必须将被除数进行符号扩展。为了说明为何有此必要,我们先不这么做。下面的代码使用MOV将-101赋值给AX,即DX:AX的低半部分:       ......
  • 汇编-div无符号整数除法
      在32位模式下,DIV(无符号整数除法)指令执行8位、16位及32位的无符号整数除法。无符号除法(unsigneddivision)定义为一个无符号数除以另一个无符号数。其中,除数为单个寄存器或内存操作数。格式如下: 【a=c÷b,读作c除以b(或b除c)。其中,c叫做被除数,b叫做除数】 下表给......
  • 『LeetCode』8. 字符串转换整数 (atoi) String to Integer (atoi)
    题目描述请你来实现一个myAtoi(strings)函数,使其能将字符串转换成一个32位有符号整数(类似C/C++中的atoi函数)。函数myAtoi(strings)的算法如下:读入字符串并丢弃无用的前导空格检查下一个字符(假设还未到字符末尾)为正还是负号,读取该字符(如果有)。确定最终结果是负数还是正......
  • 『LeetCode』7. 整数反转 Reverse Integer
    题目描述给你一个32位的有符号整数x,返回将x中的数字部分反转后的结果。如果反转后整数超过32位的有符号整数的范围[−231,231−1],就返回0。假设环境不允许存储64位整数(有符号或无符号)。示例1:输入:x=123输出:321示例2:输入:x=-123输出:-321示例3:输入:x......
  • 将 n 个整数由小到大排序
    #define_CRT_SECURE_NO_WARNINGS1#include<stdio.h>intmain(){ intarr[10]; printf("请输入一串数字:\n"); for(inti=0;i<10;i++) { scanf("%d",&arr[i]); } for(inti=0;i<10;i++)//循环次数等于元素 { for(intj=......
  • 任意整数分频
    //**************************************************************************任意整数分频,占空比为1:2//**************************************************************************modulediv_clk//========================<参数>=......
  • input 控制输入整数的几种方法
    有以下几种方法: 1.大于0的正整数    <el-input  oninput="value=value.replace(/^0(0+|\d+)|[^\d]+/g,'')"></el-input> 2.大于500会置成500(500以内的整数)<el-inputplaceholder="请输入数量"v-model="formLabelAlign.pageSize"typ......