- 博客(2)
- 收藏
- 关注
原创 【LeetCode】316. 去除重复字母
思路 字典序小的字母要尽量放在前面,要确保唯一性,使用一个set来存储字符,如果字符已经在set中则跳过。 当当前字符比栈顶元素小的时候,并且栈顶元素在后续出现过,则把当前栈点元素弹出。为了记录字符在后面是否会出现,可以先遍历字符串,以一个<字符,下标>的map来存储字符,根据map同样key,value会被后添加的元素覆盖的特性,来看字符在后续是否会出现。 代码 import java.util.HashMap; import java.util.HashSet; import java.ut
2020-05-24 17:01:53 233
原创 【LeetCode】402. 移掉K位数字
这道题目很有意思,首先要能够转换成单调栈题目,然后标签里有贪心算法,恕我愚钝,还没有看出来哪里用到了贪心算法。 而且这道题有一些corner case,写题目时不小心就会出错,写法也有很多,不容易写成标准模板。下面是我的代码,总感觉还很有优化空间。 代码 import java.util.ArrayList; import java.util.List; import java.util.Stack; class Solution { public String removeKdigits(Str
2020-05-24 15:57:53 119
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人