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

【面试经典150】day 8

#1024程序员节 | 征文#

作为一个未来的程序员,现在我要继续刷题了。

力扣时刻。

目录

1.接雨水

2.罗马数字转整数

3.最后一个单词的长度

 4.最长公共前缀

 5.反转字符串中的单词

1.接雨水

好好好好好好,一开始就接雨水。我记得接了n次了。。。

痛苦战绩

本题的思路:

对于每个节点,计算0-i的最大值,计算i-n-1的最大值,然后利用(左边最大值,右边最大值)的最小值-高度就是面积了,因为宽度为1.

class Solution {public int trap(int[] height) {//左右数组int n=height.length;int [] left=new int[n];left[0]=height[0];for(int i=1;i<n;i++){left[i]=Math.max(left[i-1],height[i]);}int [] right=new int[n];right[n-1]=height[n-1];for(int i=n-2;i>=0;i--){right[i]=Math.max(right[i+1],height[i]);}int ret=0;for(int i=0;i<n;i++){ret+=(Math.min(left[i],right[i])-height[i]);}return ret;}
}

2.罗马数字转整数

把一个小值放在大值的左边,就是做减法,否则为加法

class Solution {public int romanToInt(String s) {int sum=0;int preNum=getValue(s.charAt(0));for(int i=1;i<s.length();i++){int num=getValue(s.charAt(i));if(preNum<num){sum-=preNum;}else{sum+=preNum;}preNum=num;}sum+=preNum;return sum;}private int getValue(char ch){switch(ch){case 'I':return 1;case 'V':return 5;case 'X':return 10;case 'L':return 50;case 'C':return 100;case 'D':return 500;case 'M':return 1000;default:return 0;}}
}

3.最后一个单词的长度

先过掉空格,再计算单词。

class Solution {public int lengthOfLastWord(String s) {int end=s.length()-1;//先过掉空格while(end>=0&&s.charAt(end)==' ') end--;if(end<0) return 0;//过掉单词int start=end;while(start>=0&&s.charAt(start)!=' ') start--;return end-start;}
}

 4.最长公共前缀

class Solution {public String longestCommonPrefix(String[] strs) {if(strs.length==0){return "";}String ret=strs[0];//遍历字符串数组for(int i=1;i<strs.length;i++){int j=0;//遍历字符串for(;j<ret.length()&&j<strs[i].length();j++){if(ret.charAt(j)!=strs[i].charAt(j))break; }ret=ret.substring(0,j);if(ret.equals(""))return ret;}return ret;}
}

 5.反转字符串中的单词

 可变的字符串

StringBuilder ret=new StringBuilder();

查找某个位置的字符

s.charAt(i)

分词

s.substring(i,j)

删除首尾空格

        //删除首尾空格s=s.trim();

转为字符串

s.toString().trim()

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

相关文章:

  • Python -- 网络爬虫
  • 【英特尔IA-32架构软件开发者开发手册第3卷:系统编程指南】2001年版翻译,2-5
  • 设计模式4 适配器 (adapter)
  • 《分布式机器学习模式》:解锁分布式ML的实战宝典
  • 【项目实战】HuggingFace初步实战,使用HF做一些小型任务
  • 堆的应用——堆排序和TOP-K问题
  • 探秘 MySQL 数据类型的艺术:性能与存储的精妙平衡
  • 使用任意绘图软件自学并结合上课所学内容完成数据库原理图绘制
  • static、 静态导入、成员变量的初始化、单例模式、final 常量(Content)、嵌套类、局部类、抽象类、接口、Lambda、方法引用
  • 基于SSM的智能养生平台管理系统源码带本地搭建教程
  • Latex中文排版字体和字号
  • [C++ 11] 列表初始化:轻量级对象initializer_list
  • 【NodeJS】NodeJS+mongoDB在线版开发简单RestfulAPI (八):API说明(暂时完结,后续考虑将在线版mongoDB变为本地版)
  • manictime整合两个数据库的数据
  • Spring Boot植物健康系统:智慧农业的新趋势
  • (三)第一个Qt程序“Qt版本的HelloWorld”
  • 【Python知识】一个强大的数据分析库Pandas
  • 10.26学习
  • CSS易漏知识
  • 【10天速通Navigation2】(三) :Cartographer建图算法配置:从仿真到实车,从原理到实现
  • 测试造数,excel转insert语句
  • Python 应用可观测重磅上线:解决 LLM 应用落地的“最后一公里”问题
  • 从零开始:用Spring Boot搭建厨艺分享网站
  • 《2024中国泛娱乐出海洞察报告》解析,垂直且多元化方向发展!
  • 强化学习数学原理学习(一)
  • 获 Sei 基金会投资的 MetaArena :掀起新一轮链上游戏革命
  • react-signature-canvas 实现画笔与橡皮擦功能
  • 004:ABBYY PDF Transformer安装教程
  • FlinkSQL之temporary join开发
  • 第二十六节 直方图均衡化