leetcode(44) - Wildcard Matching

思路 假设我们用两个指针分别指向s和p字符串中要匹配的位置,首先分析下通配符匹配过程中会有哪些情况是成功: s的字符和p的字符相等 p中的字符是?,这时无论s的字符是什么都可以匹配一个 p中遇到了一个*,这时无论s的字符是什么都没关系 之前的都不符合,但是p在之前...

2016-12-01 21:45:00

阅读数 309

评论数 0

leetcode(43) - Multiply Strings

思路 1 : 这道题属于数值操作的题目,其实更多地是考察乘法运算的本质。基本思路是和加法运算还是近似的,只是进位和结果长度复杂一些。我们仍然是从低位到高位对每一位进行计算,假设第一个数长度是n,第二个数长度是m,我们知道结果长度为m+n或者m+n-1(没有进位的情况)。对于某一位i,要计算这个位上...

2016-11-30 23:04:31

阅读数 340

评论数 0

leetcode(42) - Trapping Rain Water

给定n个非负整数,代表一个柱状图,每一个柱子的宽度为1,计算下雨之后柱状图能装多少水? 例如: [0,1,0,2,1,0,1,3,2,1,2,1]  返回 6      上述柱状图是由数组表示[0,1,0,2,1,0,1,3,2,1,2,1]。在这种情况下,6个单位的雨水(蓝色部分)被装...

2016-11-29 15:28:25

阅读数 366

评论数 0

深度优先搜索(DFS)

1.前言 深度优先搜索(缩写DFS)有点类似广度优先搜索,也是对一个连通图进行遍历的算法。它的思想是从一个顶点V0开始,沿着一条路一直走到底,如果发现不能到达目标解,那就返回到上一个节点,然后从另一条路开始走到底,这种尽量往深处走的概念即是深度优先的概念。 你可以跳过第二节先看第三节,...

2016-11-27 23:19:41

阅读数 350

评论数 0

leetcode(39 40) - Combination Sum I/I I

深度优先搜索(DFS)是搜索算法的一种。最早接触DFS应该是在二叉树的遍历里面,二叉树的先序、中序和后序遍历实际上都属于深度优先遍历,实质就是深度优先搜索,后来在图的深度优先遍历中则看到了更纯正的深度优先搜索算法。        通常,我们将回溯法和DFS等同看待,可以用一个等式表示它们的关...

2016-11-27 23:01:05

阅读数 228

评论数 0

leetcode(38) - Count and Say

这是一道根据规则推导题目,要求给定序列数n,求出该序列对应的字符串。 char* countAndSay(int n) { if(n == 1) return "1"; char * cur = malloc(sizeof(char) * 2); ...

2016-11-25 21:49:36

阅读数 232

评论数 0

leetcode(36) - Valid Sudoku 数独

Determine if a Sudoku is valid, according to: Sudoku Puzzles - The Rules. The Sudoku board could be partially filled, where empty cells are filled...

2016-11-23 20:03:36

阅读数 274

评论数 0

leetcode(35) - Search Insert Position

Given a sorted array and a target value, return the index if the target is found. If not, return the index where it would be if it were inserted in o...

2016-11-22 21:47:13

阅读数 224

评论数 0

leetcode(34) - Search for a Range

Given a sorted array of integers, find the starting and ending position of a given target value. Your algorithm's runtime complexity must be in the ...

2016-11-22 00:28:33

阅读数 242

评论数 0

leetcode(33) - Search in Rotated Sorted Array

int find(int* nums, int start, int end, int target) { if (start>end) return -1; int mid=0; while(start <= end){ mid=(s...

2016-11-21 23:59:38

阅读数 201

评论数 0

leetcode(32) - Longest Valid Parentheses 最长有效括号对

Given a string containing just the characters '(' and ')', find the length of the longest valid (well-formed) parentheses substring. For "(()&qu...

2016-11-21 21:03:09

阅读数 223

评论数 0

leetcode(31) - Next Permutation

【题目】 Implement next permutation, which rearranges numbers into the lexicographically next greater permutation of numbers. If such arrangement is no...

2016-11-18 21:24:56

阅读数 269

评论数 0

LeetCode(29) - Divide Two Integers

Problem: Divide two integers without using multiplication, division and mod operator. If it is overflow, return MAX_INT. Solution: 不能乘除...

2016-11-17 23:48:43

阅读数 228

评论数 0

leetCode(30) - Substring with Concatenation of All Words

Problem: You are given a string, s, and a list of words, words, that are all of the same length. Find all starting indices of substring(s) in s ...

2016-11-17 23:46:40

阅读数 154

评论数 0

leetcode (28) - Implement strStr()

strstr(str1,str2) 函数用于判断字符串str2是否是str1的子串。如果是,则该函数返回str2在str1中首次出现的地址;否则,返回NULL。 int strStr(char* haystack, char* needle) { int i = 0,...

2016-11-15 16:23:39

阅读数 299

评论数 0

leetcode(27) - Remove Element

Given an array and a value, remove all instances of that value in place and return the new length. Do not allocate extra space for another array, ...

2016-11-14 17:16:27

阅读数 279

评论数 0

leetcode (26) - Remove Duplicates from Sorted Array

Given a sorted array, remove the duplicates in place such that each element appear only once and return the new length. Do not allocate extra space...

2016-11-13 13:59:16

阅读数 185

评论数 0

leetcode (25) - Reverse Nodes in k-Group

Given a linked list, reverse the nodes of a linked list k at a time and return its modified list. If the number of nodes is not a multiple of k then...

2016-11-13 13:58:01

阅读数 247

评论数 0

leetcode(24) - Swap Nodes in Pairs

Given a linked list, swap every two adjacent nodes and return its head. For example, Given 1->2->3->4, you should return the list as 2-&...

2016-11-11 15:53:03

阅读数 352

评论数 0

leetcode (23) - Merge k Sorted Lists

算法1: 最傻的做法就是先1、2合并,12结果和3合并,123结果和4合并,…,123..k-1结果和k合并,我们计算一下复杂度。 1、2合并,遍历2n个节点 12结果和3合并,遍历3n个节点 123结果和4合并,遍历4n个节点 … 123..k-1结果和k合并,遍历kn个节点 总共...

2016-11-10 22:07:28

阅读数 259

评论数 0

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