Robert的博客
  • 首页
  • 归档
  • 分类
  • 标签
  • 关于
  • 友链

LeetCode 1190. Reverse Substrings Between Each Pair of Parentheses

题意每层括号里面的东西需要反转一次。即在在偶数层括号里面的字符是正序的,在奇数层括号里面的字符是逆序的。然后拼成结果。 例子: “(abcd)”反转之后就是:dcba “(u(love)i)”love不反转,u,love,i三个反转,答案为:iloveu 思路网上有人直接用栈存储,每一个元素代表当前层级括号中的字符串,如果遇到括号关闭,将当前层级字符串反转再append到上一级的字符串中。 但是,
2019-09-19
LeetCode
#LeetCode

从fastjson漏洞谈防御式编程

最近,fastjson又爆出一个漏洞,在解析特殊字符的时候,直接OOM: 首先分析一下整体流程: 在scanString时,会直接读取两个字符: 而在next方法中,每次读取都会将bp的值加一(即使没有从输入中读取字符): 123456public final char next() { int index = ++bp; return ch = (index >=
2019-09-08
Language > Java

LeetCode双周赛-第七场

总是抽不出时间参加LeetCode周日上午的周赛,最近发现有周六晚上10点半的双周赛,就参加了两把。这次是第七场。 第一题:Single-Row Keyboard题意一个只有一行的键盘,随机有26个字母,给定单词,先移动到对应的单词,然后输入第一个字母,再移动,再输入第二个字母,以此类推。问输入这个单词需要移动多长。 题解题目难度easy,直接模拟就好: 123456789101112131415
2019-08-25
LeetCode
#LeetCode

AsyncHttpClient对Cookie的控制太不灵活了

业务上遇到一个坑,java服务代理了一个接口到upstream,原样转发请求数据和头部。但是代理之后的结果总是莫名其妙的多了一个Cookie,比如是Set-Cookie: ticket=t1。 业务上用一个静态的AsyncHttpClient来做代理,也没有做特殊处理,基本上就是如下的代码逻辑: 1234567891011121314151617181920212223242526272829im
2019-08-06
Language > Java

如何恢复Firefox会话中的url

昨天升级到了macOS Catalina 10.15 Beta (19A526h),发现Firefox无法打开了… 不得以,只能看下如何在不打开Firefox的情况下,将会话中打开的url拿出来。 首先,得找到Profile的问题,参考 https://support.mozilla.org/en-US/kb/profiles-where-firefox-stores-user-data 找到位置
2019-08-04
Tips

(据说)华为的一道面试题

刷微博,看到一道面试题: 先说一下思路默认题意为不能取重复的数字 总体来说,就是从可行解空间[1,1]~[20,20]中,逐步过滤,找到最终答案的过程。说一下过滤步骤: 首先A不确定两个数字,所以两数之和sum满足:4<=sum<=38 其次B也不确定,所以两数之积的分解方式可能有多种(本来以为可以用质因子个数>2来判别的,但是后来发现还要考虑两数在1到2
2019-07-28
LeetCode
#面试

LeetCode 23. Merge k Sorted Lists

LeetCode 23. Merge k Sorted Lists 题意合并k个链表,每个链表内部都是排好序的(从小到大),但是k个链表之间是无序的。 思路首先,最简单的办法就是链表之间选择排序,取第一个链表的第一个节点插到结果中。然后如果链表还有节点,放回到数组中。如此往复,直到没有节点剩余。 时间复杂度O(k*n),空间复杂度O(1)。 1234567891011121314151617181
2019-07-27
LeetCode
#LeetCode

Codeforces Round #575 B. Odd Sum Segments

题目:https://codeforces.com/contest/1196/problem/B 将长度为n的数组a划分成k个非空组,确保所有的组内之和都为奇数。 本来以为是要输出所有的可行解,所以想了一个O(n^k)的解法,结果超时。后来发现只需要输出一组解即可。 首先计算数组中奇数个数,如果奇数个数等于k,则每组一个奇数,满足需求。 如果奇数个数比k大奇数个,则这些奇数一定会导致一个组的和变成
2019-07-26
LeetCode

数组中第k大的元素

此文为 LeetCode 215. Kth Largest Element in an Array 的题解。 题意在一个未排序的数组中,寻找第k大的元素。 分析这个题目其实很简单,但是踩了一些坑,所以记录一下: 首先是用PriorityQueue,然后poll k次即可(5 ms,37.5 MB)。但是属于API caller,略去不表。 其次就是堆排序,很久不写了,第一次把堆排序写成了选择排序,
2019-07-22
#LeetCode

特工355(Agent 355)

特工355(1780年后去世)是美国革命期间女性间谍的代名,是库尔珀组(Culper Ring)的一部分。 特工355是美国的第一批间谍之一,真实身份未知。355这个数字是库尔珀组中的加密系统用来表示“女士”的数字。 生平在库尔珀组的公文中,唯一直接提及特工355的是亚伯拉罕·伍德赫尔给乔治·华盛顿将军的信。伍德赫尔形容她是“对这封信有帮助的人”。 特工355的真实身份仍然未知,但有关她的一些事实
2019-07-06
uncategorized
1…34567…16

搜索

Hexo Fluid
总访问量 次 总访客数 人