13_罗马数字转整数_字符串_简单
莽夫流,还是官方简单。
class Solution { int cut(String curStr,String cuts[],HashMap hashMap,HashMap hashMap1){ int[] ints = new int[curStr.length()]; for (int k = 0; k < cuts.length; k++) { for (int i = 0; i < curStr.length()-cuts[k].length()+1; i++) { int flag = 1; for (int j = 0; j < cuts[k].length(); j++) { if(curStr.charAt(i+j)!=cuts[k].charAt(j)){ flag = 0; break; } } if(flag == 1){ ints[i] = 1; } } } int num = 0; for (int i = 0; i < curStr.length(); i++) { if(ints[i] == 0){ // System.out.println(curStr.charAt(i)); num += (int)hashMap1.get(curStr.charAt(i)+""); }else{ num += (int)hashMap.get(curStr.charAt(i)+""+curStr.charAt(i+1)+""); i++; } } return num; } public int romanToInt(String s) { HashMap<String,Integer> hashmap = new HashMap<>(); hashmap.put("IV",4); hashmap.put("IX",9); hashmap.put("XL",40); hashmap.put("XC",90); hashmap.put("CD",400); hashmap.put("CM",900); HashMap<String,Integer> hashmap1 = new HashMap<>(); hashmap1.put("I",1); hashmap1.put("V",5); hashmap1.put("X",10); hashmap1.put("L",50); hashmap1.put("C",100); hashmap1.put("D",500); hashmap1.put("M",1000); String str[] = {"IV","IX","XL","XC","CD","CM"}; return cut(s,str,hashmap,hashmap1); } }
作者:你的雷哥
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
· 零经验选手,Compose 一天开发一款小游戏!