摘要: 题目 求一个数组的中位数,但是这个数组是动态增加的,怎么做呢?可以考虑到用插入排序,每增加一个值,都插入排序一下,最坏的效率是O(n),查询效率是O(1) 效率太低,会超时。更高明的做法,是维护两个堆,一个是大堆,一个是小堆,大堆的数字都大于小堆里的数字,两个堆的数字均分这个数字。大堆用最小堆实现, 阅读全文
posted @ 2020-05-26 20:12 Shendu.CC 阅读(97) 评论(0) 推荐(0) 编辑
摘要: 题目 题意:地上有一堆石头,每次只能拿1-3个石头,两个人轮流拿,谁拿走最后一个石头,谁就获胜。你先手。 题解:如果地上的石头小于等于3个,先手必赢,当等于4的时候,后手必赢。基于4我们可以推出,当石头的数=8的时候,后手也必赢,5,6,7都是先手赢,所以规律可以递推找到,就是看是否是4的整数倍。 阅读全文
posted @ 2020-05-26 20:02 Shendu.CC 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 题目 很简单的字符串处理题 class Solution { public: map<string, char> m; map<char, string> m2; bool wordPattern(string pattern, string str) { string s = ""; int i, 阅读全文
posted @ 2020-05-26 19:53 Shendu.CC 阅读(102) 评论(0) 推荐(0) 编辑