当前位置: 首页 > news >正文

算法day02 回文 罗马数字转整数

回文

           搞错了String类型的indexOf方法,理解成获取对应下标的值,实际上是在找对应值的下标。

   


     4ms

          耗时最少的方法尽量不会去调用jdk提供的方法,而是直接使用对应的数学逻辑关系来处理,

甚至用 == 代替equals方法。

         

         


   

     罗马数字转整数

        考虑到罗马数字开头出现每一种情况,然后截取该字符串开头

使用递归循环字符串判断开头。拉了一坨大的

class Solution13 {public static int romanToInt(String s) {Map<String,Integer> map = new HashMap<>();map.put("CD",400);map.put("CM",900);map.put("XL",40);map.put("XC",90);map.put("IV",4);map.put("IX",9);map.put("II",2);map.put("III",3);map.put("I",1);map.put("V",5);map.put("X",10);map.put("L",50);map.put("C",100);map.put("D",500);map.put("M",1000);Integer count = 0;if (s.startsWith("III")){String substring = s.substring(0, 3);count += map.get(substring);s = s.substring(3);System.out.println(" s1= " + s);System.out.println(" count1= " + count);System.out.println( s.length() == 0);if (s.length() == 0)return count;} else if (s.startsWith("CD")||s.startsWith("CM") ||s.startsWith("XL") ||s.startsWith("XC") ||s.startsWith("IV") ||s.startsWith("IX")||s.startsWith("II")){String substring = s.substring(0, 2);count += map.get(substring);s = s.substring(2);System.out.println(" s2= " + s);System.out.println(" count2= " + count);System.out.println( s.length() == 0);if (s.length() == 0)return count;} else{count += map.get(s.substring(0,1));s = s.substring(1);System.out.println(" s3= " + s);System.out.println(" count3= " + count);System.out.println( s.length() == 0);if (s.length() == 0)return count;}return count + romanToInt(s);}
}

     


           2ms

 

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 从资金管理的角度 谈谈伦敦金投资技巧
  • 在 Azure 云中开始使用适用于 Ubuntu 的 Grafana
  • SpringMVC:SpringMVC执行流程
  • uniApp 封装VUEX
  • 【HarmonyOS NEXT】鸿蒙如何让List组件不满一屏时,还要能滑动和回弹
  • ONLYOFFICE8.1版本桌面编辑器测评
  • 白骑士的C语言教学高级篇 3.5 性能优化
  • 生物化学笔记:电阻抗基础+电化学阻抗谱EIS+电化学系统频率响应分析
  • 初步认识 B树(B-tree)
  • 如何使用 SwiftUI 构建 visionOS 应用
  • ActiveMq工具之管理页面说明
  • kotlin 中 string array 怎么表示
  • 通信软件开发之业务知识:PON口割接什么意思?
  • 单例模式之饿汉式
  • 自定义控件之绘图篇(三)区域(Range)
  • [ JavaScript ] 数据结构与算法 —— 链表
  • 【跃迁之路】【519天】程序员高效学习方法论探索系列(实验阶段276-2018.07.09)...
  • 【跃迁之路】【733天】程序员高效学习方法论探索系列(实验阶段490-2019.2.23)...
  • AHK 中 = 和 == 等比较运算符的用法
  • Angular 响应式表单 基础例子
  • CEF与代理
  • es6
  • HTML中设置input等文本框为不可操作
  • iOS高仿微信项目、阴影圆角渐变色效果、卡片动画、波浪动画、路由框架等源码...
  • js正则,这点儿就够用了
  • Linux中的硬链接与软链接
  • overflow: hidden IE7无效
  • Python中eval与exec的使用及区别
  • win10下安装mysql5.7
  • 官方解决所有 npm 全局安装权限问题
  • 前嗅ForeSpider中数据浏览界面介绍
  • 数据仓库的几种建模方法
  • 数据可视化之 Sankey 桑基图的实现
  • 推荐一款sublime text 3 支持JSX和es201x 代码格式化的插件
  • 运行时添加log4j2的appender
  • 3月27日云栖精选夜读 | 从 “城市大脑”实践,瞭望未来城市源起 ...
  • 阿里云ACE认证学习知识点梳理
  • ​ 轻量应用服务器:亚马逊云科技打造全球领先的云计算解决方案
  • ​Redis 实现计数器和限速器的
  • #Linux(帮助手册)
  • #NOIP 2014# day.2 T2 寻找道路
  • $分析了六十多年间100万字的政府工作报告,我看到了这样的变迁
  • (1)Nginx简介和安装教程
  • (Java企业 / 公司项目)点赞业务系统设计-批量查询点赞状态(二)
  • (笔试题)分解质因式
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理第3章 信息系统治理(一)
  • (学习日记)2024.01.19
  • (一)springboot2.7.6集成activit5.23.0之集成引擎
  • (原创)Stanford Machine Learning (by Andrew NG) --- (week 9) Anomaly DetectionRecommender Systems...
  • .NET C# 使用 SetWindowsHookEx 监听鼠标或键盘消息以及此方法的坑
  • .NET Core实战项目之CMS 第一章 入门篇-开篇及总体规划
  • .NET/ASP.NETMVC 大型站点架构设计—迁移Model元数据设置项(自定义元数据提供程序)...
  • .net/c# memcached 获取所有缓存键(keys)
  • .NET/C# 检测电脑上安装的 .NET Framework 的版本
  • .NET8 动态添加定时任务(CRON Expression, Whatever)