自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 算法概论 第八章习题

8.3 首先,易知STINGY SAT 的解是可在多项式时间内验证的,因此属于NP。另外,很容易可以将SAT 归约到STINGY SAT(将k 设为所有变量的总个数即可),于是可知STINGY SAT 为NP 完全问题。8.8 首先很显然,EXACT 4SAT 属于NP。现在通过将3SAT 归约到EXACT 4SAT 来证明后者的NP 完全性。对于任意一个3SAT 实例,如果其中某个子句中包含了

2018-01-13 16:14:15 685

原创 LeetCode Substring with Concatenation of All Words

问题网址:https://leetcode.com/problems/substring-with-concatenation-of-all-words/description/问题描述: 给你一个字符串s和一个长度相同的单词列表。 找出s中所有子字符串的起始索引,这些字符串中的每个单词只是一个字符串,没有任何中介字符。例如,给出: s:“barfoothefoobarman” 词语:[“fo

2017-12-25 22:49:22 198

原创 LeetCode Divide Two Integers

问题网址:https://leetcode.com/problems/divide-two-integers/description/问题描述: 不用乘法,除法和mod运算符来除两个整数。如果溢出,则返回MAX_INT。在这个问题上,我们被要求分成两个整数。但是,我们不允许使用除法,乘法和mod操作。那么,我们还能使用什么?是的,有点操纵。让我们来做一个例子,看看位操作是如何工作的。假设我们要用1

2017-12-25 22:46:49 233

原创 LeetCode Implement strStr()

问题网址:https://leetcode.com/problems/implement-strstr/description/问题描述: 实现strStr()。在needle中返回第一haystack的指数,如果haystack不是needle的一部分,则返回-1。问题例子:Example 1:Input: haystack = "hello", needle = "ll"Output: 2

2017-12-25 22:44:13 172

原创 LeetCode Remove Element

问题网址:https://leetcode.com/problems/remove-element/description/问题描述: 给定一个数组和一个值,就地删除该值的所有实例并返回新的长度。不要为其他数组分配额外的空间,您必须通过在O(1)额外的内存中就地修改输入数组来实现这一点。元素的顺序可以改变。 无论你离开新的长度,都没有关系。问题例子:给定nums = [3,2,2,3],val =

2017-12-25 22:41:02 167

原创 LeetCode Remove Duplicates from Sorted Array

问题网址:https://leetcode.com/problems/remove-duplicates-from-sorted-array/description/问题描述: 给定一个有序数组,删除重复内容,使每个元素只出现一次,并返回新的长度。不要为其他数组分配额外的空间,您必须通过在O(1)额外的内存中就地修改输入数组来实现这一点。问题例子:Given nums = [1,1,2],Your

2017-12-24 13:59:19 224

原创 LeetCode Reverse Nodes in k-Group

问题网址:https://leetcode.com/problems/reverse-nodes-in-k-group/description/问题描述: 给定一个链表,一次颠倒链表k的节点并返回其修改列表。k是一个正整数,小于或等于链表的长度。 如果节点的数量不是k的倍数,那末最后的剩余节点应该保持原样。您不能更改节点中的值,只有节点本身可能会更改。只有恒定的内存是允许的。例如, 给定这个链表

2017-12-24 13:55:37 154

原创 LeetCode Swap Nodes in Pairs

问题网址:https://leetcode.com/problems/swap-nodes-in-pairs/description/问题描述: 给定一个链表,交换每两个相邻节点并返回其头部。例如, 给定1-> 2-> 3-> 4,您应该返回列表2-> 1-> 4-> 3。你的算法应该只使用恒定的空间。 您不能修改列表中的值,只能修改节点本身。一个java递归解法public class Sol

2017-12-24 13:52:20 151

原创 LeetCode Merge k Sorted Lists

问题网址:https://leetcode.com/problems/merge-k-sorted-lists/description/问题描述: 合并k个已排序的链接列表并将其作为一个排序列表返回。 分析并描述其复杂性。蛮力方法遍历所有链表,并将节点的值收集到一个数组中。 对这个数组进行排序和迭代以获得适当的节点值。 创建一个新的排序链接列表,并用新节点扩展它。class Solution(

2017-12-24 13:49:36 243

原创 LeetCode Generate Parentheses

问题网址:https://leetcode.com/problems/valid-parentheses/description/问题描述: 给定n对括号,编写一个函数来生成正确括号的所有组合。例如,给定n = 3,解集是:[ "((()))", "(()())", "(())()", "()(())", "()()()"]暴力方法我们可以生成所有2 ^ {2n} ‘(’和’

2017-12-23 21:00:08 187

原创 LeetCode Merge Two Sorted Lists

问题网址:https://leetcode.com/problems/merge-two-sorted-lists/description/问题描述: 合并两个已排序的链接列表并将其作为新列表返回。 新列表应通过将前两个列表的节点拼接在一起来完成。问题样例:Input: 1->2->4, 1->3->4Output: 1->1->2->3->4->4递归方法我们可以递归地在两个列表上定义合并操作

2017-12-23 20:51:11 156

原创 LeetCode Roman to Integer

问题网址:https://leetcode.com/problems/roman-to-integer/description/问题描述: 给定一个罗马数字,将其转换为整数。输入保证在1到3999的范围内。这个问题还是比较简单,下面给出代码。 时间复杂度都是O(N)。public int romanToInt(String s) { int sum=0; if(s.indexO

2017-12-23 20:45:27 154

原创 LeetCode Valid Parentheses

问题网址:https://leetcode.com/problems/valid-parentheses/description/问题描述: 给定一个只包含字符’(’,’)’,’{‘,’}’,’[‘和’]’的字符串,确定输入字符串是否有效。括号必须以正确的顺序关闭,“()”和“()[] {}”全部有效,但“(]”和“([)]”不是。这个问题还是比较简单,使用一个栈就可以轻松解决。public bo

2017-12-15 23:00:53 129

原创 LeetCode Remove Nth Node From End of List

问题网址:https://leetcode.com/problems/remove-nth-node-from-end-of-list/description/问题描述: 给定一个链表,从列表的最后删除第n个节点并返回它的头部。问题样例: Given linked list: 1->2->3->4->5, and n = 2. After removing the second node fr

2017-12-15 22:57:41 125

原创 LeetCode 4Sum

问题网址:https://leetcode.com/problems/4sum/description/问题描述: 给定一个n个整数的数组S,是否存在S中的元素a,b,c和d,使得a + b + c + d = target? 在数组中找出所有唯一的四元组,给出目标的总和。注意:解决方案集不能包含重复的四元组。问题样例:For example, given array S = [1, 0, -1,

2017-12-15 22:51:12 147

原创 LeetCode Letter Combinations of a Phone Number

问题网址:https://leetcode.com/problems/letter-combinations-of-a-phone-number/description/问题描述: 给定一个数字字符串,返回数字可能表示的所有可能的字母组合。 数字到字母的映射(就像电话按钮一样)在下面给出。问题样例:Input:Digit string "23"Output: ["ad", "ae", "af"

2017-12-15 22:49:13 160

原创 LeetCode 3Sum Closest

问题网址:https://leetcode.com/problems/3sum-closest/description/问题描述: 给定一个n个整数的数组S,在S中找到三个整数,使得总和最接近给定数量的目标。 返回三个整数的和。 你可以假设每个输入都只有一个解决方案。问题样例:例如,给定数组S = {-1 2 1 -4},目标= 1。最接近目标的总和是2.(-1 + 2 + 1 = 2)。下面给出

2017-12-15 22:43:56 130

原创 LeetCode 3Sum

问题网址:https://leetcode.com/problems/3sum/description/问题描述: 给定一个n个整数的数组S,是否存在S中的元素a,b,c,使得a + b + c = 0? 查找数组中所有唯一的三元组,其总和为零。注意:解决方案集不能包含重复的三元组。问题样例:For example, given array S = [-1, 0, 1, 2, -1, -4],A

2017-12-06 18:44:15 148

原创 LeetCode Longest Common Prefix

问题网址:https://leetcode.com/problems/longest-common-prefix/description/问题描述: 编写一个函数来查找字符串数组中最长的公共前缀字符串。LeetCode这道问题也是没有给出非常明确的输入输出,也是显得意义不明下面给出解法水平扫描法首先,我们将描述找到由一组字符串LCP(S_1 \ Lots S_n)LCP(S 1 … S n)共享的

2017-12-06 18:33:50 218

原创 LeetCode Integer to Roman

问题网址:https://leetcode.com/problems/integer-to-roman/description/问题描述: 给定一个整数,将其转换为罗马数字。输入保证在1到3999的范围内。LeetCode这道问题并没有给出非常明确的输入输出,似乎显得意义不明下面给出两种简单解法public static String intToRoman(int num) { Strin

2017-12-04 22:09:53 141

原创 LeetCode Container With Most Water

问题网址:https://leetcode.com/problems/palindrome-number/description/问题描述: 给定n个非负整数a1,a2,…,an,其中每个代表坐标(i,ai)处的一个点。 绘制n条垂直线,使得线i的两个端点处于(i,ai)和(i,0)处。 找到两条线,它们与x轴一起形成一个容器,使得容器包含最多的水。注意:你不能倾斜容器,n至少为2。下面讨论一种简

2017-12-03 22:55:43 158

原创 LeetCode Regular Expression Matching

问题网址:https://leetcode.com/problems/regular-expression-matching/description/问题描述: 实现正则表达式匹配,支持’。’ 和’*’。'.' 匹配任何单个字符。'*'匹配零个或多个前面的元素。匹配应覆盖整个输入字符串(不是部分)。函数原型应该是:bool isMatch(const char * s,const char *

2017-12-02 21:51:08 163

原创 LeetCode Palindrome Number

问题网址:https://leetcode.com/problems/palindrome-number/description/问题描述: 确定一个整数是否是回文。 不必考虑额外的空格。一些提示: 负整数可能是回文? (即-1)如果您正在考虑将整数转换为字符串,请注意使用额外空间的限制。你也可以尝试颠倒一个整数。 但是,如果您已经解决了“反向整数”问题,则知道反转整数可能会溢出。 你将如何处理

2017-12-01 22:48:20 104

原创 LeetCode String to Integer (atoi)

问题网址:https://leetcode.com/problems/string-to-integer-atoi/description/问题描述: 实现atoi将字符串转换为整数。提示:仔细考虑所有可能的输入案例。 如果你想要一个挑战,请不要看下面,问自己什么是可能的输入案例。注意:这个问题的含义是模糊的(即没有给定的输入规范)。 您有责任预先收集所有的输入要求。更新(2015-02-10):

2017-11-30 22:41:22 161

原创 LeetCode Reverse Integer

问题网址:https://leetcode.com/problems/longest-palindromic-substring/description/问题描述: 给定一个32位有符号整数,整数的反转数字。问题样例: Example 1:Input: 123Output: 321Example 2:Input: -123Output: -321Example 3:Input: 120O

2017-11-29 23:06:12 110

原创 LeetCode ZigZag Conversion

问题网址:https://leetcode.com/problems/zigzag-conversion/description/问题描述: 字符串“PAYPALISHIRING”在以下给定数目的行上以Z字形图案书写:(您可能希望以固定字体显示该图案以便更好的易读性)P A H NA P L S I I GY I R然后逐行阅读:“PAHNAPLSIIGYIR” 编写代码

2017-11-28 22:23:22 132

原创 LeetCode Longest Palindromic Substring

问题网址:[https://leetcode.com/problems/longest-palindromic-substring/description/](https://leetcode.com/problems/longest-palindromic-substring/description/)问题描述:给定一个字符串s,找到s中最长的回文子字符串。 可以假定s的最大长度是1000。问题样例:E

2017-11-27 23:05:11 142

原创 LeetCode Median of Two Sorted Arrays

问题网址:https://leetcode.com/problems/median-of-two-sorted-arrays/description/问题描述: 给定两个有序数组nums1和nums2大小分别为m和n。 找到两个有序数组的中位数。 整体运行时间复杂度应为O(log(m + n))。问题样例: Example 1:nums1 = [1, 3]nums2 = [2]The med

2017-10-18 11:15:31 166

原创 LeetCode Longest Substring Without Repeating Characters

问题网址:https://leetcode.com/problems/longest-substring-without-repeating-characters/description/问题描述: 给定一个字符串,找到最长子串的长度,子串不包含重复字符。问题样例:Given "abcabcbb", the answer is "abc", which the length is 3.Given

2017-09-24 12:04:14 147

原创 leetCode Add Two Numbers

问题网址:[https://leetcode.com/problems/add-two-numbers/description/]问题描述: 给定两个非空的链表,表示两个非负整数。 数字以相反的顺序存储,每个节点包含一个数字。 将两个数字的和作为链表返回。假设两个数字不包含任何前导零,除了数字0本身。问题样例:Input: (2 -> 4 -> 3) + (5 -> 6 -> 4)Output:

2017-09-24 00:06:21 122

原创 LeetCode Two Sum

问题网址:https://leetcode.com/problems/two-sum/问题描述: 给定一个整数数组,返回两个整数的下标,使它们的和等于一个给定的值。 可以假设每个输入都只有一个解决方案,也就是说不会两次使用相同的元素。问题样例:Given nums = [2, 7, 11, 15], target = 9,Because nums[0] + nums[1] = 2 + 7 = 9

2017-09-15 23:30:48 245

空空如也

空空如也

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

TA关注的人

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