
LeetCode & 考试真题
素年恋锦事
嵌入式,Java
展开
-
2020秋招笔试—表示年份的子串
2020秋招笔试—表示年份的子串题目思路代码 题目 小明想从一段英文短文中提取潜在的年份信息,待匹配的年份的范围为1000年至3999年,包含1000和3999,输入一段英文短文,按出现次序输出所提取到的所有可能的年份字符串。 示例: 输入: And millinaires will hold 46% of total wealth by 2019,the report says.This ratio is likely to increase in 2020. 输出: 2019 2020 思路 对字符串求原创 2020-09-17 22:43:51 · 486 阅读 · 0 评论 -
2020秋招笔试—有效字符串
2020秋招笔试—有效字符串题目思路代码 题目 输入一串字符串,只包含’(’ , ‘)’ , ‘[’ , ‘]’ , ‘{’ , ‘}’ 这六种字符,现要判断字符串是否有效。有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 示例: 输入: ()[]{} ([)] {[]} 输出: true false true 思路 用栈解决即可,遍历字符串,每次遇到左括号就入栈,遇到右括号则出栈到栈顶弹出对应的左括号; 当最终遍历完成后,若栈不为空,则为false;栈为空,则为t原创 2020-09-16 00:08:38 · 410 阅读 · 0 评论 -
2020秋招笔试—删除重复字符
2020秋招笔试—删除重复字符题目思路代码 题目 给定一个字符串,需要去除所有之前曾经出现过的字符,只保留第一次出现的字符。 描述: 输入: hello, welcome to beijing. 输出: helo, wcmtbijng. 思路 要删除已重复的字符,可以在第一次遍历时查询是否重复,而在生成处理后的字符时,需要能快速找到该字符第一次出现的位置,那么可以在第一次遍历时维护一个HashMap<Character,Integer>。 第一次遍历字符串时,若当前遍历的字符不在map中,将该原创 2020-09-15 21:49:29 · 671 阅读 · 0 评论 -
2020秋招笔试—优雅的文章
优雅的文章题目思路代码 题目 任何一篇仅有英文字母的文章,如果大小写字母数量不相同,会被认为文章不优雅。现在要对给定的文章(即输入字符串)进行修改,使其变得优雅,请确定至少修改多少字符的大小写即可使文章变得优雅。输入的字符串一定是偶数长度的,输出修改次数即可。 示例: 输入: AAAb 输出: 1 思路 这种不确定修改方向,只问修改次数的问题,在遍历时的flag设置成可以向上变化或者向下变化,即可统计修改次数。 这里我们可以设置一个计数器cnt,初值为0,假如遍历到大写就cnt++,遍历到小写就cnt–,原创 2020-09-15 09:58:11 · 152 阅读 · 0 评论 -
2020秋招笔试—复杂异或问题
异或操作题目思路代码 题目 给定一个序列an,下标从1开始直到n,定义了以下式子: 现在要求下式的值: 小提示: 样例解释: 这里考察的是异或操作。 思路 首先注意到异或是支持交换律的,可将待求解的值分为两个部分:将ai全部交换到一起求出异或值,这是由输入序列确定的部分结果;还剩下一个n×n的余数矩阵,它们整体异或到一起构成输入序列个数确定的部分结果。 输入序列的异或结果十分简单,遍历一次输入序列,取出相异或即可,但剩下的余数矩阵如何处理? 再次注意到,余数矩阵在列方向上是有周期规律的:第一列是0原创 2020-09-15 09:07:24 · 242 阅读 · 0 评论 -
2020秋招笔试—最大海报面积
最大海报面积—LeetCode.84变体思路代码 —LeetCode.84变体 题目:输入两个长度为n的数组,分别为n个矩形条的宽和高,现在要在这些矩形覆盖的面积内找到一个最大的矩形面积来张贴海报。 说明:输入参数有任何错误和非法数据时,返回0。 示例: 输入: x=[1,1,1,1,2,1,1]; y=[5,2,5,4,5,1,6]; n=7 输出: 16 思路 本题就是LeetCode.84的变体,比较好的思路就是维护一个单调栈,栈内存储对应的矩形块索引。因此,求解本题需要有几个关键点: 建立宽度一致原创 2020-09-14 23:06:36 · 284 阅读 · 0 评论