自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 几个NP-完全问题的证明

1.吝啬SAT问题8.3吝啬SAT问题是这样的:给定一组子句(每个子句都是其中文字的析取)和整数k,求一个最多有k个变量为true的满足赋值——如果该赋值存在。证明吝啬问题是NP-完全问题。 证明: 易得吝啬SAT问题是NP问题。 已知SAT是NP完全问题,因此,只要能把SAT归约到吝啬SAT问题,即可证明。 归约过程:假设SAT问题有n个变量,即等价于k=n的吝啬SAT问题。命题得证。2.

2017-01-20 12:35:51 21082

原创 [leetcode]K-th Smallest in Lexicographical Order

DescriptionProblem Link给定n和k,求1..n中,字典序第k小的数。 例如:Input:n: 13 k: 2Output:10Explanation:The lexicographical order is [1, 10, 11, 12, 13, 2, 3, 4, 5, 6, 7, 8, 9], so the second smallest number is 10

2017-01-20 21:36:12 422

原创 [leetcode]Shortest Palindrome

Descriptionleetcode 一个字符串S,可以在前面添加一个字符串S’,使得S’S是最短的回文串。例如Given "aacecaaa", return "aaacecaaa".Given "abcd", return "dcbabcd".Solution因为添加的字符只能放在前面,所以构成回文串的一定是S的某一后缀。所以是求前缀中最长的回文串。这个可以用KMP做,令T为S的倒,然后用

2017-01-20 20:08:36 282

原创 [leetcode]Strong Password Checker

Descriptionleetcode A password is considered strong if below conditions are all met:It has at least 6 characters and at most 20 characters. It must contain at least one lowercase letter, at least one

2017-01-20 18:58:49 1247

原创 [leetcode]Max Points on a Line

Problem DescriptionLink 在平面图上给出n个点,求最多有多少点在同一条直线上。Possible Solution暴力枚举两个点,固定一条直线。枚举所有点,看有多少点在这条直线上。时间复杂度 O(n^3)固定一点固定一个点,枚举其他点,计算斜率,同一个斜率的一定在同一条直线上。复杂度O(n) 统计同一个斜率有多少点的时候,本来想构造一个hash表。后面发现太麻烦了 。其实只需

2017-01-18 17:11:44 475

原创 [HDU1402]A * B Problem Plus

Problem descriptionLink 计算A*B,其中A,B的位数不超过50000Possible Solution高精乘:时间复杂度O(n^2)FFT :时间复杂度O(nlogn)将A,B两数的每个位当做多项式A(X),B(X)的系数,计算出A(X)*B(X)的系数,在进行进位。记得到C附代码:#include<cstdio>#include<cstring>#include<al

2016-11-15 15:05:40 468

原创 [leetcode]Binary Tree Maximum Path Sum

DescriptionProblem Link 对于给定的二叉树,求最大路径长度。HINT:不一定要经过根节点。 例如下图,最大路径为8->-3->11 Possible Solution遍历二叉树:计算以当前节点为中间节点,连接左右子树的最大路径,并返回经过当前结点向左/右子树走的最大路径。例如上图中,以-3为连结的最大路径是8->-3->11,遍历-3这个结点,返回值是11+-3 =8。

2016-10-23 16:32:02 211

原创 [leetcode] Candy

DescriptionProblem Link 一群小孩站成线。每个小孩有一个分值。现在要分糖果,需要满足两个条件: 1. 每个小孩至少要有一颗糖。 2. 分值较高的小孩要比他的左右拿更多的糖。 问最少需要多少糖果。e.g.scores[] = {1,3,5,7,7,7,4,1}candy[] = {1,2,3,4,1,3,2,1}ANS = 1+2+3+4+1+3+2+1 = 17P

2016-10-23 14:44:30 203

原创 [leetcode]Minimum Window Substring

DescriptionProblem Link 对于给定的字符串S,T,求S中包含T中所有字符的最短的子串。要求时间复杂度O(n)e.g.S = "ADOBECODEBANC"T = "ABC"return "BANC"Possible Solution分析:在这道题中,如果子串的结束位置固定了,那么最优解的开始位置也是固定的。而且随着end的增大,begin只会变大,不会变小。基本思路:固

2016-10-23 11:37:10 203

原创 [leetcode]Longest Increasing Path in a Matrix

Problem LinkDescription给定一个矩阵,求矩阵中最长的严格上升序列。例如:nums = [ [9,9,4], [6,6,8], [2,1,1]]答案为4, 即9|6|2 -- 1Possible Solution记忆化搜索用d[i][j]表示从(i,j)出发的最长上升序列。有一件喜闻乐见的事情:由于题目是严格上升的,所以不需要考虑标记什么的~ 附代码:#i

2016-10-19 17:31:51 170

原创 [leetcode]Largest Rectangle in Histogram

Description给定直方图中每一个柱子的高度,求直方图中面积最大的长方形。每个主席的宽度为1。 例如: 对于该图,给定的序列是[2,1,5,6,2,3] 其中最大的长方形是: 面积为10.Possible Solution简单的贪心 时间复杂度O(N*N)易证明, 最后得到的这个长方形的高度,一定等于某一个柱子的高度,对于[2,1,5,6,2,3]这个解,最后长方形的高度为5

2016-10-18 20:13:06 207

原创 [leetcode]Insert Interval

Description对于给定的一些不重合的有序的区间, 插入一个新区间,必要的时候和原有的区间合并。比如: 给定[1,3],[6,9], 插入[2,5],得到 [1,5],[6,9].再比如: 给定[1,2],[3,5],[6,7],[8,10],[12,16],插入[4,9],得到 [1,2],[3,10],[12,16]. 因为[4,9] 和 [3,5],[6,7],[8,10]重合Po

2016-10-18 19:39:12 187

原创 [leetcode]Median of Two Sorted Arrays

Problem LinkDescription求给定两个有序数组的中位数。如:{1,2,3} 和 {4,5,6}的中位数是3.5。Possible solutionN = n + m时间复杂度 :O(N logN)先合并,后排序,然后考虑单复数,取中位数。 代码很简单,不写啦时间复杂度:O(N)用两个指针PA,PB扫描序列,直到扫描过(N+1)/2个后停止,N为偶数情况下接着扫描第N/2+1个。

2016-10-18 19:11:35 229

原创 [leetcode]Serialize and Deserialize Binary Tree

Problem Link 序列化和反序列化一棵二叉树。序列化的定义是,能把树结构转化成string。但序列化就是能根据string转化成二叉树。举个栗子: 1 / \ 2 3 / \ 4 5 最简单的姿势,就是把它当成满二叉树处理,对于空节点就用特殊字符代替(用null代替有四个字符呢),比方说我们用,则上面这棵树的序列化

2016-10-18 19:03:50 197

空空如也

空空如也

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

TA关注的人

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