Menu Sidebar
Menu

February 2021

Longest Nice Substring

给一个string, 定义nice是string的substring, 并且每个字符都有对应大小写的字符. 求最长nice substring. 这个题微软面试经常考啊, 帮人写过好几次了, 这题主要的陷阱就是看似能用滑窗扫描, 其实不能, 原因是nice的substring没有包含的关系, 所以最简单的做法就是2个for循环找所有可能的情况, 然后还有一种做法是, 先预处理string, 然后把不可能组成nice string的字符, 整个string都没有出现大小写的字符, 放到set里, 然后因为题意, 我们知道这些字符可以看做一个个split points. 也就是说我们的答案的substring肯定不会包含这些字符, 于是用一个循环找写着字符, 不断的剔去他们. 就可以找到答案了. 我看讨论区说这是什么分治法, 我觉得并不是. 只是简单的分割问题, 没有merge.

Where Will the Ball Fall

给一个2d数组, 里面1是对角线, -1是反对角线, 从每个column上往下放小球, 求小球落到哪里. 这个题里已经给出了什么时候小球不能落下的情况, 一个是碰壁, 一个是相邻的cell互为1和-1. 排除然后做dfs就可以了. 也不需要memo就能过.

Maximum Subarray Sum After One Operation

给一个数组, 可以把其中一个数平方, 求这个数组可能的子数组的最大和. 这个和上个题好像差不多, 我用dp做的, 主要是要看出来转移方程,即, 因为只能做一次平方. 所以选择了当前的数做了平方后, 以后的数字不可以再做, 以后的数就是普通的子数组最大和.

Newer Posts
Older Posts

书脊

这青苔碧瓦堆, 俺曾睡风流觉, 将五十年兴亡看饱.

February 2021
M T W T F S S
1234567
891011121314
15161718192021
22232425262728