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

LeetCode 刷题【13. 罗马数字转整数、14. 最长公共前缀】

13. 罗马数字转整数

自己做

解法1:遍历

class Solution {
public:int romanToInt(string s) {int len = s.size();int sum = 0;for(int i = len - 1; i >= 0; i--){          if(s[i] == 'I'){                        //1sum += 1;}else if(s[i] == 'V'){if(i > 0 && s[i - 1] == 'I'){       //4sum += 4;i--;}elsesum += 5;                       //5}else if(s[i] == 'X'){if(i > 0 && s[i - 1] == 'I'){       //9sum += 9;i--;}elsesum += 10;                       //10}else if(s[i] == 'L'){if(i > 0 && s[i - 1] == 'X'){       //40sum += 40;i--;}elsesum += 50;                       //50}else if(s[i] == 'C'){if(i > 0 && s[i - 1] == 'X'){       //90sum += 90;i--;}elsesum += 100;                       //100}else if(s[i] == 'D'){if(i > 0 && s[i - 1] == 'C'){       //400sum += 400;i--;}elsesum += 500;                       //500}else if(s[i] == 'M'){if(i > 0 && s[i - 1] == 'C'){       //900sum += 900;i--;}elsesum += 1000;                       //1000}}return sum;}
};

解法2:按表映射

不好实现,算了(反正前面已经是最优解了,偷个懒)

看题解

官方用map的代码明显更简洁

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

14. 最长公共前缀

自己做

两层for循环

看题解

14. 最长公共前缀 - 力扣(LeetCode)

分治这些根本想不到,后面再慢慢学吧

http://www.lryc.cn/news/599237.html

相关文章:

  • Leetcode力扣解题记录--第21题(合并链表)
  • CentOS8 使用 Docker 搭建 Jellyfin 家庭影音服务器
  • Vim 编辑器全模式操作指南
  • 短剧小程序系统开发:构建影视娱乐生态新格局
  • Java常用命令、JVM常用命令
  • Android Room 持久化库:简化数据库操作
  • pycharm安装教程-PyCharm2023安装详细步骤【MAC版】【安装包自取】
  • PyCharm高效开发全攻略
  • IP证书:构建数字世界知识产权安全防线的基石
  • Java零基础入门学习知识点2-JDK安装配置+Maven
  • Qwen3-235B-A22B-Thinking-2507 - 开源思维推理模型的新标杆
  • 深入解析Hadoop YARN如何避免资源死锁:机制与实战
  • Androidstudio 上传当前module 或本地jar包到maven服务器。
  • C++调用GnuPlot一维绘图
  • 微信小程序中英文切换miniprogram-i18n-plus
  • 三、Spark 运行环境部署:全面掌握四种核心模式
  • day33:零基础学嵌入式之网络——HTTP服务端
  • GaussDB 逻辑备份实操
  • 《剑指offer》-数据结构篇-链表
  • Java 大视界 -- Java 大数据机器学习模型在金融衍生品市场波动特征挖掘与交易策略创新中的应用(363)
  • MySQL存储引擎深度解析与实战指南
  • 电科金仓新一代数据库一体机:国产化方案替换优质选择
  • Java研学-RabbitMQ(三)
  • LeetCode 391:完美矩形
  • SQL164 2021年11月每天新用户的次日留存率
  • 虚拟地址-物理地址
  • 关于“PromptPilot”
  • jwt 验证方法 (ASP.NET Core)
  • Uniapp编写微信小程序,绘制动态圆环进度条
  • Linux——线程(下)