自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 资源 (4)
  • 问答 (1)
  • 收藏
  • 关注

原创 K-th Smallest in Lexicographical Order

依次逐渐确定前缀,每次计算当前前缀下不超过n的个数,若个数超过k,则说明第k个数在当前前缀下,反之,则说明在当前前缀加1以后的前缀;以first为前缀的数[first,first+1][first*10,(first+1)*10][first*100,(first+1)*100]class Solution {public: int findKthNumber(

2017-01-11 14:53:45 338

原创 Word Break II

dp+dfsclass Solution {private: //DFS path build function void buildPath(vector& isBreakable, string &s, int pos, vector &res, string curP, vector& wordDict, int minlen, int maxlen) { int i, len

2017-01-10 11:00:42 210

原创 MDB文件分页类型和格式

page1:0    16    “MDB format 0”  16      4        first freelist page20      4        number of free pages24      1        b+树节点类型,0x0d表示叶子节点,0x05表示内部节点25      2        剩余可用空间  emptyPage:fe5

2017-01-08 19:17:39 1016

原创 Dungeon Game

网上都是从右下角向左上角进行dp的,我想了想,从左上角开始应该也可以,只不过要加边界判断条件(是否碰到dungeon的上边界或者左边界),很麻烦,从右下角开始确实简便了很多class Solution {public: int calculateMinimumHP(vector > &dungeon) { int M = dungeon.size(); int N = dungeo

2017-01-08 09:57:11 344

原创 Arithmetic Slices II - Subsequence

越往后做题越难了啊,像这种题不看答案根本没头绪嘛,其实看个几天逐步推导应该也能有个大概思路,可惜最近真的没时间记个discuss统一认同的答案吧class Solution {public: int numberOfArithmeticSlices(vector& A) { if (A.empty()) return 0; vector> dp(A.size());//[i

2017-01-07 10:20:00 269

原创 Shortest Palindrome

暴力破解思路:补充完成之后的回文串中心必定在原字符串中----原字符串以第一个字符为起点必然存在至少一个回文串(长度可以为1)----找到原字符串中以第一个字符为起点最长的回文串----把剩余部分的翻转补充到原字符串头部。优化方法:1、求字符串s的翻转s_rev2、将两个字符串进行拼接:{s}#{s_rev}3、找出新字符串中最长公共前缀后缀长度comLen4、s_rev.su

2017-01-06 10:05:37 199

原创 Longest Valid Parentheses

有效括号子串有很多,不是连续的,所以不是一般的动态规划(一般dp的时间复杂度是O(n^2)),是断开的动态规划,回溯的时候只需要回溯一步for any longest[i], it stores the longest length of valid parentheses which is end at i.And the DP idea is :If s[i] is '('

2017-01-05 09:49:00 176

原创 MDB中cell的格式

cell存储(key, value)键值对,由于MDB目前只支持uint32_t键值和string数据,所以直接在key size中用变整型数据格式存储uint32_t类型的键值key,在data中存储字符串的ascii格式。payload header保存的是包括payload header和data type的byte数,data type是存储的数据格式,参考了sqlite的表示方法,用整数

2017-01-04 16:59:21 292

原创 Find Median from Data Stream

中位数----两个部分----两个堆贴一份discuss中优雅的代码class MedianFinder { priority_queue small, large;public: void addNum(int num) { small.push(num); large.push(-small.top());//负数模拟大根堆 small.pop(); if (s

2017-01-04 09:16:04 185

原创 Regular Expression Matching

/*** f[i][j]: if s[0..i-1] matches p[0..j-1]* if p[j - 1] != '*'* f[i][j] = f[i - 1][j - 1] && s[i - 1] == p[j - 1]* if p[j - 1] == '*', denote p[j - 2] with x* f[i][j] is true iff any

2017-01-03 14:59:44 177

原创 Minimum Window Substring

窗口子字符串的一般处理方法是用两个指针夹住子字符串,然后移动遍历,暴力搜索class Solution {public: string minWindow(string S, string T) { vector srcHash(255,0); // 记录目标字符串每个字母出现次数 for (int i = 0; i < T.length(); i++) { srcHas

2017-01-02 16:53:39 214

原创 Perfect Rectangle

http://www.cnblogs.com/grandyang/p/5825619.htmlclass Solution {public: bool isRectangleCover(vector>& rectangles) { unordered_set st; int min_x = INT_MAX, min_y = INT_MAX, max_x = INT_MIN, m

2017-01-01 09:47:42 245

MongoDB_Architecture_Guide(MongoDB架构指导)(个人翻译版)

为了学习Mongodb自己翻译的材料

2017-05-01

Inside SQLite(SQLite技术内幕) 原版+个人翻译版

个人独立翻译的《Inside SQLite》。由于时间仓促,自己也是初学者,有许多地方实在是不尽如人意,最近比较忙,之后有时间的话会修订一次。欢迎任何形式的转载、修订。希望能和大家一起学习。

2016-10-14

opengl入门

两个初学opengl时做的小程序,分别实现正方形和正方体的旋转,都详细注释了,完全原创,希望帮助到学习opengl的人

2014-12-02

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除